2015-12-12 1 views
1

J'aimerais savoir si ces tables sont en bon Boyce-Codd forme normale. Fondamentalement, il ya un société qui possède N magasins et chaque boutique a N travailleurs. Chaque société a sa propre adresse, chaque boutique a sa propre adresse - où il se trouve et même tous travailleur a sa propre adresse où il vit. Pourrait-il être comme ceci - en particulier la table d'adresse?tableaux dans BCNF

Répondre

0

Vous devez spécifier les déterminants pour le faire correctement, mais je vais faire des hypothèses. La société est dans BCNF parce qu'elle a deux attributs et les deux sont des clés de candidat - c'est un cas spécial. Boutique: si le nom et le téléphone sont les deux clés candidates, alors c'est BCNF. Travailleurs: si [Nom + Prénom] est une clé candidate, c'est BCNF. Adresse: le bloc est dupliqué sur les lignes, donc ce n'est même pas 1NF, donc il ne peut pas être BCNF.

+0

Alors, comment dois-je concevoir la table d'adresses à BCFN? aussi, devrais-je créer une table d'adresses pour chaque table qui doit avoir une adresse ou pourrais-je en faire une seule et la connecter comme je l'ai fait? Parce que quand vous voulez réellement insérer une donnée dans DB, vous devez remplir toutes les clés étrangères pour spécifier l'adresse du worker. – John

+0

Comme je l'ai écrit plus tôt, vous devez définir les déterminants pour prouver formellement BCNF. Avez-vous fait cela? – nicomp