• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ボイスコッド正規化)

ボイスコッド正規化とは?

このQ&Aのポイント
  • ボイスコッド正規化とは、自明でない関数従属性が成立する場合に使用される手法です。
  • 自明でない関数従属性とは、ある属性が別の属性を一意に決定する関係であり、承認者と備品グループの関係が該当します。
  • ボイスコッド正規化を行うことで、データベースの整合性を保ちつつ、重複や冗長性を排除することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • s-riasu
  • ベストアンサー率33% (1/3)
回答No.1

 ボイスコッド正規形(BCNF)の成立条件は、 1.すべての関数従属性が自明であること  または、 2.関数従属性の決定項(X→YのXのこと)がすべてスーパーキーであること  の二つになります。  まず、1.の「自明である」ことについて念のため説明します。  自明な関数従属性というのは、X→Yの時、YがXの部分集合になっている場合のことを言います。  つまり、{備品グループ,社員氏名}→備品グループ というのが自明な関数従属です。  そして2.の「スーパーキー」ですが、これは全ての属性に関数従属性を持ったキーのことをいいます。候補キーと同義と思ってください。  これを踏まえてあなたが挙げた例を見ると、承認者→備品グループは明らかに自明ではありません。備品グループは承認者の部分集合ではないためです。  承認者を決まれば備品グループが決まる、という関係は完全関数従属といえますが、自明な関数従属ではないのです。  また、承認者はスーパーキーでもありません。  "承認者"が決まっても、"社員氏名"はわかりませんよね。  よって、自明でない関数従属性{承認者→備品グループ}が存在し、決定項"承認者"がスーパーキーではないこの関係表はBCNFではありません。

ShiftTail
質問者

お礼

とてもわかりやすく解説していただき ありがとうございます。 すっきりしました。

関連するQ&A