勉強していて何が違うのかがわからなかったのでまとめる.
定義
ボイスコッド正規系:
リレーション R 上の全ての自明でない FD X → A について,X が R の超キーである場合
結論
情報無損失分解を実現するためにボイスコッド正規系の制約を緩めたものが第三正規系
付与する条件は関係従属の非決定項がキー属性であるという条件 (X → A でAがキー属性)
経緯
ボイスコッド正規系のみでは問題が生じた.
例を挙げる.
三つの属性A,B,Cが存在するスキーマを考える.
関係従属性は{A → B},{B,C → A}が成り立っている.
今主キーの設定をB,Cに設定する.
となるとA → Bの関係従属がボイスコッド正規系の制約を満たさなくなるので A,B と B,C の二つテーブルに分解する.
そうするともともと存在していた{B,C → A}の関係従属性が消滅してしまう.
その問題を解決するために正規系の条件を緩め非決定項にキー属性が入っていれば許可する条件を追加する.
そうするとA,B,CのスキーマでもA → BはBがキー属性なのでスキーマを分解せずとも第三正規系の条件を満たしている.このため情報を損失することなく正規系にすることができた.
以上の経緯がありボイスコッド正規系から第三正規系が派生する形で誕生した.