質問

Rと言うと、次の属性があります。{a、b、c、d、e}、以下の機能依存関係があります:

A -> BC
CD -> E
B -> D
E -> A
.

とR1(A、B、C)とR2(A、D、E)からなる分解がある。R1とR2の機能依存関係を計算する方法

宿題に関する実際の質問は、R1 / R2がBCNF / 3NF /どちらのものでもありませんが、すでにその部分の方法を知っています(FDの左側が候補キーに含まれているかどうかを確認)。

役に立ちましたか?

解決

トリックは、与えられたスキーマ上ではなく、それの予測にはFDを定義することを考えています。

あなたの出発スキーマ{abcde}では、FD A - > BCは、A({A}、実際に)がこのテーブルのキーを構成し、{abc}に投影されたと言います。つまり、FDのLHSとRHSの連合は、どの投影を定義し、LHSはその投影のキーを定義します。

今度は 2つの異なるテーブル(スキーマ){abc}と{ade}を持っている分解バージョンに回します。

あなたの最初と最後のFDはまだそれらのスキーマで表現可能です。最初のスキーマ/テーブルの最初のFDと後者の最後のFD。

しかし、残りの2つは、分解のために、正しくない(未踏の、すなわち)。これは、データベース全体の設計のために、データベース制約を宣言/定義/実装する必要があることを意味するもので、元のFDとまったく同じことを宣言/定義/実装する必要があります。 (これを行うための一般的なレシピは次のとおりです。これらのコースの演習)

R1 / R2がXNFにあるかどうかの決定は、まだ表現可能な元のFDのものだけを考慮して行わなければなりません(A-> BC)。

R1が3 / bcのNFにあるという結論に到着するべきであり、R2はまだ存在しないと思います。

これら(および最もコースの演習はこの性質のものです)のような例は実際には、正規化の概念がデータベース設計の分野にある派遣的にオーバーテストされているかを示しています。データベースに適用される all を含む全体の写真は何ですか。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top