人々は「掲示板」に書き込み、「ショッピングサイト」で買い物をし、「ブログ」を簡単に更新したいと願いました。
そこで登場したのが、サーバーサイド・スクリプト(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. 光と影
⚠️ レストランの悩み
毎回イチから作るので、お客さんが殺到するとシェフがパンクします(サーバーダウン)。
また、包丁(プログラム)を使うので、怪我(セキュリティ事故)のリスクも増えました。