スキーマ:R(A,B,C,D,E,F,G,H,I,J)
および機能依存関係FD = { A->DE, IJ->H, I->A, J->FG, G->BC }
質問: BCNF に関係はありますか?
回答:がスーパーキーではないからA
ではありません。
リレーションシップが BCNF にある条件は知っていますが、いつも混乱するのは ですsuperkey
。答えがスーパーキーではない理由を誰か説明できA
ますか? たとえば、IJ
またはI
スーパーキーとして選択してみませんか? k
スキーマ:R(A,B,C,D,E,F,G,H,I,J)
および機能依存関係FD = { A->DE, IJ->H, I->A, J->FG, G->BC }
質問: BCNF に関係はありますか?
回答:がスーパーキーではないからA
ではありません。
リレーションシップが BCNF にある条件は知っていますが、いつも混乱するのは ですsuperkey
。答えがスーパーキーではない理由を誰か説明できA
ますか? たとえば、IJ
またはI
スーパーキーとして選択してみませんか? k
BCNF の定義では、リレーショナルの自明ではない機能依存関係R
に、スーパーキーである決定子 (左側) がないことが必要です。スーパーキーは、関係のすべての属性を決定する属性または属性のセットです。したがって、少なくとも依存関係にスーパーキーではない決定要素がある場合、その関係は BCNF にはありません。
この例では、任意の依存関係から開始できます。から始めましょうA → DE
。A
クロージャを計算してスーパーキーかどうかを確認し、すべての属性が含まれているかどうかを確認できます。
A+ → A
A+ → ADE (because of A → DE)
他の属性を追加できないため、A
は のスーパーキーでR
はなく、リレーションは BCNF にありません。
I
同様に、 、J
、およびがスーパーキーではないことがわかりG
ます。
実際、この関係には一意の候補キー 、IJ
その閉包を計算することで確認できる事実がありますIJ+
。これは、各スーパーキーに が含まれている必要IJ
があることを意味します。