0

私はこのテーブルを持っており、すべての異常を取り除くために再設計することになっています。テーブルではなく、依存関係を示します。

The functional dependencies are
(Product, Store) -> Dept
Store -> Manager
Dept-> Assist
(Product, Store)->Price
Product-> Weight
Product-> Manufact
Manufact-> Manuloc

Product と Store がこの関係の鍵です

わかりましたので、テーブルを分割して新しいテーブルを作成することで異常を取り除き、各テーブルに何が含まれるかを述べる必要があります。私はそれを行う方法がわかりません。

4

1 に答える 1

1

アームストロングの公理とそこから派生したルールを適用します。(これはあなたの教科書にあると思います。索引を確認してください。) たとえば、次の 2 つの機能依存関係 (FD) が与えられた場合:

(Product, Store) -> Dept
Dept -> Assist

推移性ルールを適用して、明示されていない FD を決定できます。

(Product, Store) -> Assist

与えられた FD から、既約の FD のセットを導き出します。このセットがテーブルを決定します。

この例は、Date のIntroduction to Database Systemsからのものです。(彼はそれをより完全に扱っています。)

A  -> BC
B  -> C
A  -> B
AB -> C
AC -> D

アームストロングの公理を使用して右側のシングルトン用に書き直します。

A  -> B
A  -> C
B  -> C
A  -> B
AB -> C
AC -> D

FDA -> Bは 2 回発生します。情報を失うことなく破棄できます。に減らすことができAC -> DA -> DをなくすことができAB -> Cます。A -> Cそして、私たちは排除することができます

A -> B
B -> C
A -> D

この既約の FD のセットから、2 つのテーブルを導き出します。

A -> BD
B -> C
于 2011-02-17T11:03:32.470 に答える