3

リレーショナル データベースの設計では、たとえば、スキーマ S(銀行家、bname、顧客) と関数の依存関係 (FD) があります。

銀行家 -> bname 顧客、bname -> 銀行家

スキーマ S は BCNF にありますか? または、次のようにする必要があります: (banker, bname) and (customer, banker)

4

2 に答える 2

2

「S」はBCNFにはないと思います。以下は、Chris Date による BCNF の非公式な定義です。

唯一の決定要因が候補キーである場合にのみ、relvar は BCNF に含まれます。(データベース システムの紹介、第 7 版、367 ページ)

決定要因という用語は、機能依存関係の左側を意味します。左側が候補キーではない機能依存関係がある場合、その関係は BCNF にありません。

例を従来の表記法で書き直してみましょう。

R{ABC}
A->B
BC->A

AC と BC の 2 つの候補キーがあります。A->B の左側は候補キーではありません。したがって、R は BCNF にはありません。

または、次のようにする必要があります: (banker, bname) and (customer, banker)

いいえ、あなたの機能依存関係は、顧客が銀行家を決定しないことを明確に示しています。

于 2012-11-06T13:34:17.003 に答える
0

(銀行員, bname) と (顧客, 銀行員) であるべきだと思います。私には外部キー関係のように見えます。

于 2012-11-05T23:41:32.693 に答える