段階を踏む。
まずは ER 図を作る。
2 次元表を打ち出す。
同じレコードに 2 つの情報が , でつながれていたら、分離する。
関係 R において、部分集合 X, Y がある場合、 X が決まると Y が決まる場合を関数従属という。
Y が X に関係従属であり、かつ X の真部分集合には関数従属でないとき、 Y が X に完全関数従属するという。 真部分集合とは、X の部分集合が X と同一ではないとき、である。
全ての属性は主キーに関数従属である。 関数従属の関係は内容が更新されても変更されない。
関係スキーマ R の部分集合 S, T を考えたとき
R = S + T
が可能であるとき、S, T は Rの分解。分解された関係を関係表に射影する。 もとの関係 R を S と T の結合で表すことができる。
一般には損失が発生することがあるが、 自然結合によりもとの関係を得られるとき、 無損失分解とよぶ。 正規化では無損失分解を行う。
関数従属に基づく正規形の中で、 第 2 正規形、第 3 正規形について解説する。
第 2 正規形: 第 1 正規形でかつキーでない属性が各候補キーに完全関係従属していること。
関数従属である候補キーが存在するとき、 情報の重複による更新異常が発生することがある。 無損失分解によって、第 2 正規形に分解する。
推移的関数従属: 関係の属性間に X -> Y, Y -> Z という関数従属性があるとする。