2

R(A、B、C、D、E)をリレーションスキーマとし、F = {A→C、B→D、C→E、E→A}、すべての候補キーを検索します。

マップできないため、このセットにはCKが存在しないと思います。BまたはDをB->D以外の他の関係に。これは、候補キーがないことを意味しますか?AをBとD以外の他のすべてのエンティティにマップすることはできますが。

4

4 に答える 4

4

正規化の最初のステップは、リレーションのすべてのキーを見つけることです。キーを見つけるのに役立ついくつかの事実は次のとおりです。

  1. 属性がどのFDにも含まれていない場合、その属性はすべてのキーにあります。

  2. 属性がFDの右側で発生するが、左側では発生しない場合、その属性はキーに含まれることはありません。

  3. 属性がFDの左側で発生するが、右側では発生しない場合、その属性はすべてのキーにあります。

  4. 属性がFDの右側と左側の両方で発生する場合、その属性については何も言えません。

キーを見つけるには、上記の各ケースに含まれる属性を特定します。1番目と3番目のケースのものは、すべてのキーに含まれている必要があります。この属性のセットをコアと呼びます。コアによって決定される属性を計算します。これは、コアのクロージャと呼ばれます。すべての属性がコアのクロージャにある場合、コアはキーであるだけでなく、唯一のキーでもあります。コアのクロージャが属性のセット全体ではない場合、一部が欠落しています。この属性のセットを書き留め、上記の2番目のセットにある属性をすべて削除します(つまり、FDの右側で発生しますが、左側では発生しません)。これらは外部属性です。キーを取得するには、コアに1つ以上の外部属性を追加する必要があります。したがって、最初に一度に1つ、次に一度に2つ、というようにコアに追加します。

于 2014-01-28T13:46:11.487 に答える
2

3つの候補キーがあります。

Bは、機能依存性の右側には表示されません。つまり、Bはすべての候補キーの一部である必要があります。単独で少なくとも1つの候補キーがあることを保証するものではないと思いますが、ここでABが3つの候補キーの1つであることは検査から明らかです。

教科書には、すべての候補キーのセットを決定するためのアルゴリズムが少なくとも1つ含まれている必要があります。運が良ければ、紙と鉛筆に適したアルゴリズムと、プログラミングによる自動化に適したアルゴリズムが含まれています。

于 2012-11-29T16:19:31.830 に答える
0

Bは右側にないので、Bは候補キーの一部である必要があり、AとCは両側で発生するため、Bとスーパーキーを形成できます。マッピングでは、ABとBCはスーパーキーであり、候補キーとして使用されます。は最小のスーパーキーであるため、ABとBCが候補キーです。

于 2014-03-02T16:17:57.183 に答える
0

すべての機能依存性にわたって厳密に左側にあるすべての属性は、各候補キーの一部を形成する必要がある属性です。

次のステップは、そのような属性だけでスキーマ内のすべての属性を生成できるかどうか、または決定できるかどうかを確認することです。はいの場合、その属性は元のスタンドアロン形式の候補キーです。そうでない場合は、その属性を他の各属性とグループ化します(一度に1つずつ、一度に2つなど)。属性のセット全体をトラバースするこのような最小限のセットはすべて、候補キーと呼ぶことができます。

于 2014-05-23T02:56:36.887 に答える