情報処理の午前問題で出題されることが多い、データベースの正規化についてまとめました。
まずは用語です。
●主キー
・候補キー中でNULL値を取らないキー。
・主キーは1つのみ。
●候補キー
・行を一意に識別し、1個以上の属性(属性に関して冗長性無し)
・NULLでも可能
●関数従属
属性Aの値が決まると属性Bの値が一意に決まるとき、「属性Bは、属性Aに関数従属(A→B)」と言う。
●完全従属
・Aが複数の属性の集合で構成
・2の属性A、BでA→Bが成立
・ただしAのいかなる部分集合もA→Bが不成立
●部分従属
関数従属であるが、完全従属でない
●推移関数従属
「A→B」(ただしB→Aは不成立)かつ「B→C」であるとき「A→C」
(1)第一正規化
キーを設定する
キー(主キーあるいは候補キー)を設定し、繰り返し部分を別の表に
(2)第二正規化
「キーから非キー」への関数従属性を整理する
部分関数従属性を取り除く。
(3)第二正規化
「非キーから非キー」への関数従属性を排除
推移関数従属性を取り除く。
スポンサード リンク