正規化
--.icon
用語
候補キー
主キーやユニークキー
データを一意に特定できる
非キー属性
関数従属性
特定カラムA(会員ID)が決まった時に別のカラムB(会員ネーム)が特定できるような関係
この時、カラムBはカラムAに関数従属している
りく.icon別テーブルでもこの関係はある?例えば、請求がバーコードに関数従属していると言えるか?
関数従属性の種類
部分関数従属性
ある非キー属性が、候補キーに属している関係
対象の非キーが、複数の候補キーに従属している場合
推移関数従属性
非キー属性が非キー属性に関数従属している関係
X←Y←Zという関係
--.icon
正規化の目的
データの重複を無くして、データの不整合、データの矛盾の発生を設計レベルで防ぐ
その他では、実装面、運用面で、防ぐこともできる
正規化のフェーズ
第一正規化
テーブルで表現できるようDBをいじる事
第二正規化
部分従属性が排除されている事
候補キーの一部→非キー属性の関数従属を排除
つまり、候補キーが特定された際に特定の非キーが特定されるような状態にならないようDBをいじる事
第三正規化
推移従属性が排除されている事
つまり、非キーが特定された際に他の特定の非キーが特定されるような状態にならないようDBをいじる事