Bases des bases de données
La clé primaire d'une table Commande(NumCommande, NumArticle, Quantite, NumClient, NomClient) est {NumCommande, NumArticle}, et ses dépendances fonctionnelles sont {NumCommande, NumArticle} → Quantite, NumCommande → NumClient et NumClient → NomClient. Quel est le résultat correct de la normalisation de cette table jusqu'à la troisième forme normale (3NF) ?
- ALigneCommande(NumCommande, NumArticle, Quantite, NumClient), Client(NumClient, NomClient)
- BLigneCommande(NumCommande, NumArticle, Quantite), Commande(NumCommande, NumClient), Client(NumClient, NomClient)
- CLigneCommande(NumCommande, NumArticle, Quantite), Commande(NumCommande, NumClient, NomClient)
Afficher la réponse et l'explication
Réponse : B. LigneCommande(NumCommande, NumArticle, Quantite), Commande(NumCommande, NumClient), Client(NumClient, NomClient)
La deuxième forme normale est l'état d'une table en première forme normale dans laquelle aucune colonne ne dépend d'une partie seulement de la clé primaire (pas de dépendance fonctionnelle partielle). NumCommande → NumClient est une dépendance fonctionnelle partielle, car NumClient est déterminé par NumCommande seul, qui n'est qu'une partie de la clé primaire ; la table d'origine est donc en première forme normale mais pas en deuxième forme normale. Placer les colonnes déterminées par NumCommande dans Commande(NumCommande, NumClient, NomClient) donne la deuxième forme normale. La troisième forme normale (3NF) est l'état d'une table en deuxième forme normale dans laquelle aucune colonne n'est déterminée par l'intermédiaire d'une colonne autre que la clé primaire (pas de dépendance fonctionnelle transitive). Commande contient encore la dépendance fonctionnelle transitive NumCommande → NumClient → NomClient ; on sépare donc aussi Client(NumClient, NomClient). Les 3 tables LigneCommande(NumCommande, NumArticle, Quantite), Commande(NumCommande, NumClient) et Client(NumClient, NomClient) sont alors en troisième forme normale. Les joindre sur NumCommande et NumClient restitue la table d'origine.
Continuer : 9 autres questions sur Bases des bases de données