2010-12-06 21 views
10

J'essaie de comprendre les étapes correctes dans l'exécution d'une décomposition BCNF. J'ai trouvé cet exemple, mais je ne comprends pas comment effectuer les bonnes étapes.BCNF décomposition

Schema = (A, B, C, D, E, F, G, H) + de FD {A -> CGH, AD-> C, DE-> F, G> G}

Quelqu'un pourrait-il montrer les bonnes étapes?

+0

Avez-vous trouvé cet exemple sur votre devoir à la maison? –

+0

Non, il était dans le manuel, mais pas répondu bien sûr. J'essaie de trouver plus d'exemples, pour m'aider en finale. – Mike

+0

On dirait que les devoirs. Essayez d'examiner le [diaporama] suivant (http://www.comp.nus.edu.sg/~lingtw/rm.pdf). Si vous le suivez, vous devriez être capable de terminer l'exercice. – NealB

Répondre

11

déterminer une couverture minimale en utilisant votre FD de:

{A -> C, A -> G, A -> H, 
B -> nothing, 
C -> nothing, 
D -> nothing, 
E -> nothing, 
F -> nothing 
G -> nothing 
H -> nothing 
DE -> F} 

Remarque AD -> C tombe parce que A seul détermine C ce qui implique D est redondant dans la FD (voir Axioms Armstrong - Augmentation).

Les définitions 3NF et BCNF concernent les dépendances relatives aux clés composées. La seule clé composée que vous avez ici est DE. D ou E participent à d'autres FD non- afin d'éliminer les dépendances transitives et de s'assurer que les attributs dépendent de la clé ', la clé entière, et rien que la clé' n'est pas un problème ici.

Pause dans les relations de sorte que le côté gauche FD est la clé et les côtés de la main droite sont les attributs dépendants non-clés de cette clé:

[Key(A), C, G, H] 
[Key(D, E), F] 

maintenant éliminer ces attributs de la couverture, quel que soit est laissé sont des relations autonomes.

[Key(B)] 

Cela devrait être en 3FN/BCNF

+0

Pour AD -> C, je ne comprends pas comment le La règle d'augmentation s'applique. Cependant, je crois qu'il est supprimé car il s'agit d'une dépendance de clé partielle, qui n'est pas autorisée dans 2NF. –

+1

@Alex W Bon point. Si 'A -> C' alors' AD -> CD' est vrai par augmentation. Grâce à la décomposition, nous pouvons dériver 'AD -> C'. Mais le choix de conserver 'A -> C' ou' AD -> C' est déterminé par des règles pour construire une couverture minimale à partir d'un ensemble donné de FD. La suppression de «D» du LHS des FD n'empêche pas que «C» soit déterminé dans F +, par conséquent, la «redondance» est la base réelle pour le laisser tomber. – NealB

+0

J'obtiens des relations décomposées comme R1 (DEF), R2 (ACGH) et R3 (ABDE). Je ne comprends pas comment B peut être la clé candidate. J'ai obtenu ABDE comme clé pour la relation ci-dessus. – Josh