- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ボイスコッド正規化)
ボイスコッド正規化とは?
このQ&Aのポイント
- ボイスコッド正規化とは、自明でない関数従属性が成立する場合に使用される手法です。
- 自明でない関数従属性とは、ある属性が別の属性を一意に決定する関係であり、承認者と備品グループの関係が該当します。
- ボイスコッド正規化を行うことで、データベースの整合性を保ちつつ、重複や冗長性を排除することができます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ボイスコッド正規形(BCNF)の成立条件は、 1.すべての関数従属性が自明であること または、 2.関数従属性の決定項(X→YのXのこと)がすべてスーパーキーであること の二つになります。 まず、1.の「自明である」ことについて念のため説明します。 自明な関数従属性というのは、X→Yの時、YがXの部分集合になっている場合のことを言います。 つまり、{備品グループ,社員氏名}→備品グループ というのが自明な関数従属です。 そして2.の「スーパーキー」ですが、これは全ての属性に関数従属性を持ったキーのことをいいます。候補キーと同義と思ってください。 これを踏まえてあなたが挙げた例を見ると、承認者→備品グループは明らかに自明ではありません。備品グループは承認者の部分集合ではないためです。 承認者を決まれば備品グループが決まる、という関係は完全関数従属といえますが、自明な関数従属ではないのです。 また、承認者はスーパーキーでもありません。 "承認者"が決まっても、"社員氏名"はわかりませんよね。 よって、自明でない関数従属性{承認者→備品グループ}が存在し、決定項"承認者"がスーパーキーではないこの関係表はBCNFではありません。
お礼
とてもわかりやすく解説していただき ありがとうございます。 すっきりしました。