BCNF とは何かを理解しようとしていますが、次のような関係があります。
学生(id、ssn、メール、名前、姓)
どこ
- id は、null 以外の自動インクリメント プロパティを持つプライマリ サロゲート キーです。
- ssn は null プロパティではない一意のキーであり、
- email も not null プロパティを持つ一意のキーです。
BCNF に違反するものはありますか?もしそうなら、より良い設計でこの状況を克服するにはどうすればよいですか?
編集
機能依存関係を書き込もうとしていますが、間違っている場合は修正してください。
他を決定する 3 つの属性があるため、方程式の左側と右側に ssn と email の両方が存在すると混乱します。この関係は bcnf にはないようですが、何か問題があるに違いありません :)
id -> (ssn, email, name, surname)
ssn -> (id, email, name, surname)
email -> (id, ssn, name, surname)