概要
DB (データベース) とは、「表 (テーブル) の集まり」 として情報を保存する仕組み。表計算ソフトをイメージすると分かりやすく、列に「項目名」、行に「1 件 1 件のデータ」が並ぶ。1 行が レコード、1 項目が カラム、テーブルの設計図を スキーマ と呼ぶ。
「ファイルに JSON で書けばダメか?」は最初に必ず出る疑問。10 件なら JSON で十分だが、件数が増え複数人が同時に書き換え、「条件に合う行だけ」「集計したい」となると破綻する。DB は 検索の速さ (インデックス) ・ 整合性 (型・制約) ・ 並行アクセス (トランザクション・ロック) を最初から面倒見てくれる。
このトピックで扱う リレーショナル DB (RDB) は最も古典的な系統で、SQLite / MySQL / PostgreSQL がそのファミリー。複数テーブルを キーで結びつける (リレーション) ことで複雑なデータも素直に表現できる。この章は概念の絵を頭に作るだけで、手は ch02 から動かす。
学習目標
- DB が「表 (テーブル) の集まり」だと頭の中で絵にできる
- テーブル / 行 / 列 という用語を自分の言葉で説明できる
- なぜファイル保存ではなく DB を使うのか、その動機を 1 つ言える
ドリル
このチャプターにドリルはありません。 スライドを読み終わったら次の ch02-pdo-connect/ に進んでください。
理由: ここでは概念の絵を頭に作るのが目的。手を動かすのは ch02 から (PDO で実際に DB に接続するところ) で行います。