web-dev-qa-db-ja.com

第3正規形(3NF)への分解

Scheme (R) = (A,B,C,D,E,F,G,H)

Function Dependencies (F) = {A->CGH, AD->C, DE->F, G->H}

スキーマRの第3正規形(3NF)へのロスレス結合分解をどのように実行しますか?

どんな助けでもありがたいです。

14
Chris

任意の文字xに対してA→CGHおよびAx→Cであるため、A→CGHも教えてくれないことは何も教えてくれないので、2番目の関数従属性(AD→C)は無視できます。

Bを決定するものは何もありません。 Dを決定するものは何もありません。

GがHを決定し、AがGとHの両方を決定するため、G→Hを関係に分離できます(推移的な依存関係A→GとG→Hがあります)。

R1 = { G, H }       : PK = { G }

これにより、F '= {A→CG、DE→F}およびR' =(A、B、C、D、E、F、G)が残ります。

残っている2つの機能従属性は、さらに2つの関係を形成する可能性があります。

R2 = { A, C, G }    : PK = { A }
R3 = { D, E, F }    : PK = { D, E }

それはR '' = {A、B、D、E}を残します

R4 = { A, B, D, E } : PK = { A, B, D, E }

R1、R2、R3、およびR4を結合すると、Rの開始値(指定された関数従属性の制約を満たす)に対して開始したRが残ります。

18