リレーションの正規化
正規形が重要なわけではない。
データベースが使いやすいことが重要なのだ。
正規化の目的
データ項目の意味を正確に定義する。
データ項目同士の関係を正確に定義する。
データの冗長度を取り除く。
データの重複を最小限にする。
データに対する要件を標準化する。
データベースに対するデータの更新・追加・削除作業に対するデータの制約を保証する。
正規化の利点
データ管理の容易化
データに変更の必要が生じたときに、変更する手間が大幅に削減される。
データの部品化
正規化されたデータは他のシステムで利用できる可能性が高る。
データ容量の削減
データの関係を明確にすることにより、無駄な列を削除することができる。
その結果、データ処理の効率も上がる。
正規化での留意事項
1. 基本的には、教科書通りに正規化して重複した項目がないのが望ましい。
特に、非正規化したデータの状態では、同じデータが複数のテーブルに散在することになり、整合性を維持するためには、アプリケーション・プログラム側の処理で考慮しなければならない。
2. データ件数が極端に少ない場合には、あえて正規化しないほうが、アクセス・スピードが高速になる場合もある。
さまざまな正規形
通常は、第三正規形までで充分と言われている。
非正規形
繰り返しの排除(第一正規形)
部分関数従属の排除(第二正規形)
推移関数従属の排除(第三正規形)
キー項目内関数従属の排除(ボイスコッド正規形)
自明でない多値項目従属の排除(第四正規形)
自然結合可能な範囲での分割の徹底(第五正規形)
database normalization
リレーション + 正規化
正規化
データ完全性
データベース設計
データモデリング
関係モデル
関係 (リレーション)
定義域 (ドメイン)
属性
組 (タプル)
候補キー
関係データベース
https://ja.wikipedia.org/wiki/関係の正規化