2

Je suis un peu confus sur la notion d'attributs étrangers et une décomposition appropriée en 3NF.Base de données des attributs étrangers et la décomposition

Par exemple, j'ai la relation suivante:

r(A,B,C,D,E,F) 

F = FD's 
F = {A-> BCD, BC-> DE, B->D, D->A} 

Je veux calculer la couverture canonique pour décomposer en 3NF en utilisant un algorithme. Je dois donc supprimer les attributs superflus des FD.

J'ai calculé A+. B+, C+, D+ (A+ = ABCDE, B+ = BD, C+ = C, D+ = AD) J'ai commencé à essayer de trouver des attributs externes. D'abord, je regardais les attributs dans ß-

J'ai essayé de trouver si D est étrangère à

BC -> DE

et en utilisant BC + I trouvé D est étrangère (Puisque BC + contient l'attribut RÉ). Alors maintenant, mon FD a changé de BC -> DE to BC -> E Maintenant j'ai essayé de calculer les attributs étrangers pour α.

J'ai regardé pour voir si B ou C est étranger à FD BC -> DE (Les calculs B + et C + m'ont conduit à ne pas extraire B ou C car aucun d'entre eux ne contient E).

J'ai aussi regardé étranger attribué à A -> BCD et trouvé à la fois B et C soient étrangers (Comme A + contient tous les attributs). Donc je suis resté avec:

A -> D 
BC -> E 
B -> D 
D -> A 

Désolé pour la question extrêmement longue, je voulais juste écrire ce que j'ai fait.

Je suis confus quant à si cela est correct ou si je fais même cela correctement. J'essaie de suivre quelques notes et quelques références en ligne, mais ce serait bien si quelqu'un pouvait me dire si je faisais bien et si j'essayais pas de m'expliquer un peu pour trouver correctement les attributs superflus et les décomposer.

Répondre

1

Certains de vos fermetures sont fausses (B + = ABCDE, par exemple en raison de B> D, D> A, A-> BCD, BC-> DE).

B et C ne sont pas étrangères à A-> BCD. En effet, la fermeture de A par rapport à

{A -> D, BC -> E, B -> D, D -> A}

est AD plutôt que ABCDE.

Alors laissez-nous backtrack à votre étape précédente:

{A-> BCD, BC-> E, B> D, D> A}

D est étrangère dans A-> BCD puisque A-> B et B-> D. Nous éliminons D de A-> BCD et obtient:

{A> BC, BC-> E, B> D, D> A}

C est étrangère à BC- > E.En effet, B-> D, D-> A, A-> BC. Par conséquent,

{A> BC, B> E, B> D, D> A}

Ensuite, nous associons tous les fds avec le même côté gauche:

{a> BC, B> dE, D> a}

Cet ensemble de dépendances fonctionnelles ne contient pas de dépendances redondantes ou des attributs étrangers, et, par conséquent, est une couverture canonique.

Questions connexes