なぜ住所変更が1か所で済むのか
注文の記録をExcelで管理すると、1行にお客様の名前や住所まで全部を書き込みがちです。同じお客様が10回注文すると住所は10か所にコピーされ、直し漏れの危険が生まれます。データベースは逆に、表を分けて番号で参照し合います。
注文管理のデータベースをのぞいてみる
customersお客様名簿
- PKiduuid
- nametext
- UNNemailtext
orders注文の台帳
- PKiduuid
- FKNNcustomer_iduuid
- ordered_attimestamptz
products商品カタログ
- PKiduuid
- nametext
- pricenumeric
order_items注文の明細
- PKiduuid
- FKNNorder_iduuid
- FKNNproduct_iduuid
- quantityinteger
×1.0
テーブル・列・関係をクリックすると、説明と関連がここに表示されます。
この図をテキストで読む
ER図「注文管理データベースの4つの表」。テーブル4個、関係3本。 【テーブル】 - customers(お客様名簿、列3個、主キー: id) - orders(注文の台帳、列3個、主キー: id) - products(商品カタログ、列3個、主キー: id) - order_items(注文の明細、列4個、主キー: id) 【関係】 - orders.customer_id → customers.id(多対1): 注文した人 - order_items.order_id → orders.id(多対1): どの注文の明細か - order_items.product_id → products.id(多対1): どの商品か
Excelの表と何が違う?
Excelには「他の表の行しか指せない」「重複登録を拒否する」といった約束を強制する仕組みがありません。リレーショナルデータベースは約束を自身で見張るので、人が気をつけなくてもデータが壊れにくいのです。
押さえておきたい用語
- 主キー(PK)
- 外部キー(FK)
- リレーショナルデータベース この用語の解説を読む
- ER図
次に読む鍵の強さと確率
ページ 1 / 3