人々は「掲示板」に書き込み、「ショッピングサイト」で買い物をし、「ブログ」を簡単に更新したいと願いました。
そこで登場したのが、サーバーサイド・スクリプト(PHPなど)データベース(SQL) です。

1. 「動的生成」とは?

🍳 注文を受けてから作る「レストラン」

静的サイトが「作り置きのお弁当」だとしたら、動的サイトは「レストラン」です。
お客さん(あなた)の注文に合わせて、シェフ(PHP)がその場で料理(HTML)を作ります。

sequenceDiagram
    autonumber
    participant User as お客さん (Browser)
    participant Server as ホール係 (Web Server)
    participant PHP as シェフ (PHP)
    participant DB as 冷蔵庫 (Database)

    User->>Server: 「最新の記事を見せて!」
    Server->>PHP: オーダー入りました!
    
    rect rgb(255, 250, 240)
        Note right of PHP: ここから調理開始
        PHP->>DB: 記事の具材ちょうだい (SQL)
        DB-->>PHP: {記事A, 記事B...}
        
        PHP->>PHP: お皿(HTML)に盛り付け
    end
    
    PHP-->>Server: 料理(HTML)完成!
    Server-->>User: お待たせしました
                    
図: サーバーサイドでの「調理」プロセス

2. データベースの役割

Excelのような表形式でデータを管理します。プログラム(PHP)は、ここから必要なデータだけを抜き出して使います。

erDiagram
    Users ||--o{ Posts : writes
    Users {
        int id
        string name
        string email
    }
    Posts {
        int id
        string title
        string content
        datetime created_at
    }
                    
図: データの関係図(ER図)

3. 光と影

⚠️ レストランの悩み

毎回イチから作るので、お客さんが殺到するとシェフがパンクします(サーバーダウン)。
また、包丁(プログラム)を使うので、怪我(セキュリティ事故)のリスクも増えました。

NEXT: Level 3へ進む →