Lesson 11 / Chapter 1
ファイルに保存するだけでは足りなくなる
users.txt
------------------------
1,太郎,20
2,花子,25
3,次郎,30
- 「20 歳以上の人だけ取り出したい」 → 自分で 1 行ずつ読んで判定するコードが必要
- 「花子の年齢を 26 に書き換えたい」 → 全行読み込んで該当行だけ書き換えて、もう一度全部書き戻す
- 複数人 (複数プロセス) が同時に書き込むと データが壊れる
→ こうした「探す・直す・同時に触る」を 安全に・速く やってくれる仕組みが DB (データベース)。
DB は「表 (テーブル)」の集まり
users テーブル:
| id |
name |
age |
| 1 |
太郎 |
20 |
| 2 |
花子 |
25 |
| 3 |
次郎 |
30 |
- 1 つの DB の中に、こういう 表 (テーブル) がいくつも入っている
- 表計算ソフト (Excel / スプレッドシート) の 1 シートに近いイメージで OK
用語 3 つだけ覚える
| 用語 |
意味 |
users テーブルでの例 |
| テーブル (table) |
1 つの表 |
users 全体 |
| 行 (row / record) |
横 1 本のデータ |
1, 太郎, 20 |
| 列 (column / field) |
縦 1 列の項目 |
name 列 (全員の名前) |
「1 行 = 1 人分のデータ」「1 列 = 全員に共通する項目 (名前・年齢など)」のイメージ。
なぜ DB を使うのか
| やりたいこと |
ファイルだと |
DB だと |
| 条件で絞って取り出す |
1 行ずつ読んで判定 |
WHERE age >= 20 の 1 行 |
| 1 件だけ書き換える |
全部読み込んで全部書き戻す |
UPDATE ... WHERE id = 2 |
| 同時に複数人が触る |
壊れる |
DB がロックして守ってくれる |
| 大量データから検索 |
全件スキャンで遅い |
インデックスで速い |
→ 「探す・直す・同時に触る」を任せられる のが DB の存在理由。
このチャプターでできるようになること
✅ DB が「テーブル (表) の集まり」だと言える
✅ テーブル / 行 / 列 を自分の言葉で説明できる
✅ なぜ DB を使うのか (条件検索 / 部分更新 / 同時アクセス / 高速検索) を 1 つ言える
関連: ch02 で PHP から実際に DB に接続する