2017-04-03 5 views
0

Attribution:Comment se décomposer FNBC lorsqu'un attribut n'a pas de relation avec les autres

Considérons une relation (,,,,,,) et son FD ensemble = {→, →, →, → , →, →}. Décomposer en une collection de relations BCNF si elle n'est pas en BCNF. Assurez-vous que votre décomposition est sans perte.

Explication

Salut, je travaille sur mes devoirs de base de données (relation chapitre de la conception). Je pense que j'ai commandé le processus de base basé sur des exemples en classe. Cependant, la partie délicate ici est que nous avons un attribut 'H' qui n'a aucune relation avec les autres, ce qui me perturbe profondément. Comment dois-je le gérer?

réponse Tentative

• We start from a schema: ABCDEGH, since H has no relations with any attribute, we decompose it into tables: H and ABCDEG 
• The FDs for ABCDEG remains the same, therefore key is E. 
• The FD D →AG violates BCNF (FD with non-key on LHS). 
• To fix, we need to decompose into tables: ADG and BCDE 
• FDs for ADG are { D → AG }, therefore key is D, therefore BCNF. 
• FDs for BCDE are { B → CD,  E → D,  BC → DE, E → B, CD → BE } 
• Key for BCDE is also E, and FD B → CD violates BCNF (FD with non-key on LHS). 
• To fix, we need to decompose into tables: BCD and BE 
• FDs for BCD are { B → CD } therefore key is B, therefore BCNF. 
• FDs for BE are { E → B } therefore key is E, therefore BCNF. 
• Final schema:  H, ADG, BCD, BE 

Quels sont vos commentaires sur mes erreurs?

+0

L'étape 1 est incorrecte. Quelle référence utilisez-vous? – philipxy

+0

Que signifie "reste le même"? Réalisez-vous que AB est aussi un CK? Réalisez-vous qu'une relation peut avoir plusieurs CK? S'il vous plaît, lorsque vous suivez un algorithme, donnez-le ou une référence à celui-ci, pas seulement une trace (partielle) de votre suivi. Aussi, "n'a aucune relation avec les autres" utilise "relation" de manière générique dans un contexte qui l'utilise différemment comme terme technique. Vous voulez dire que H n'est mentionné dans aucun FD avec d'autres attributs. – philipxy

Répondre

0

Votre première balle est erronée. Si vous allez à la référence qui a l'algorithme de décomposition BCNF que vous essayez de suivre, il n'aura pas cette étape. Il dira, à la fin, d'ajouter des attributs non mentionnés dans les FD (dépendances fonctionnelles) à l'un des schémas de composants BCNF générés par les FD.