データモデルの設計のベストプラクティス
主キーを使って、データベースシステムが 1 つの行を他の行と区別できるようにする 正規化に関して
クエリ (query) とも呼ばれる (単なる JOIN を使った SELECT のこと) 「第三正規形で十分」 という都市伝説があるが、実際にはより上位の正規形のどこに違反するかを考える必要
1 つのテーブルが複数のテーブルに関連しているときに起こりやすい
繰り返しグループがあるテーブルを正規化するために、UNION クエリを使える
SELECT id, foo1 AS foo FROM xxx WHERE ... UNION SELECT id, foo2 AS foo FROM xxx WHERE ...
列に複数のプロパティ値を格納すると、個別の値を扱いづらい (例えば人名の苗字と名前とか、住所の国や郵便番号、市区町村など)
アプリケーションがデータをどう使うか次第
計算値の格納はパフォーマンスに深刻な問題が発生する可能性
参考文献