Corrigés Exercices Dépendances Fonctionnelles et Normalisation
- Consulter la page des exercices.
- Consulter la page du cours sur la normalisation et les dépendances fonctionnelles
- Corrections.
Anomalie(s)
Il y a une redondance sur les valeurs de TVA par rapport aux catégories
Clé(s)
L'identifiant de la relation est l'attribut numPièce.
Forme normale
Pièce (numPièce, prix, libellé, catégorie)
- catégorie référence TVA.catégorie
TVA(catégorie, tva)
Ces deux relations sont en BCNF. Il n'y a pas de perte d'information ni de perte de dépendance.
Anomalie(s)
Clé(s)
L'identi fiant de la relation est (numTypeMachine, numTechnicien).
Forme normale
Machine(numtypeMachine, nomMachine)
Technicien(numTechnicien, nomTechnicien)
Prime(numTypeMachine, numTechnicien, montantPrime)
- numTypeMachine référence Machine.numTypeMachine
- numTechnicien référence Technicien.numTechnicien
Ces relations sont en BCNF. Il n'y a pas de perte d'information ni de perte de dépendance.
Anomalie(s)
Il n'y a pas d'anomalie dans cette relation.
Clé(s)
Cette relation possède deux clés:
- auteur, publication
- ouvrage, position
Forme normale
La relation est déjà en BCNF.
Anomalie(s)
Clé(s)
L'identi fiant de la relation est l'attribut numCommande.
Forme normale
Décomposition BCNF
Commande(numCommande, numClient, date, numProduit)
- numClient référence Client.numClient
- numProduit référence Produit.numProduit
Client(numClient,nomClient)
Produit(numProduit,nomProduit)
Ces relations sont en BCNF. Il n'y a pas de perte d'information ni de perte de dépendance.
Anomalie(s)
Il y a des redondances sur les attributs nomEmployé, adresse et nomProjet.
Clé(s)
L'identi fiant de la relation est (numEmployé, numLaboratoire).
Forme normale
Décomposition BCNF
Travaille(numEmployé, numLaboratoire, numProjet)
- numEmployé référence Employé.numEmployé
- numProjet référence Projet.numProjet
Employé(numEmployé, nomEmployé, adresse)
Projet(numProjet, nomProjet)
Ces relations sont en BCNF. Il n'y a pas de perte d'information ni de perte de dépendance.
Anomalie(s)
Clé(s)
Cette relation possède deux clés:
- film,ville
- salle,film
Forme normale
Décomposition BCNF
Voici une façon de décomposer cette relation en BCNF, il en existe d'autres.
Cinéma(film, ville, distributeur)
- distributeur référence Distributeur.distributeur
- ville référence Salle.ville
- salle référence Salle.salle
Distributeur(distributeur, délégué)
Salle(salle, ville)
- Consulter la page du cours sur la normalisation et les dépendances fonctionnelles
- Corrections.
Exercice 1 : Pièce
Anomalie(s)
Il y a une redondance sur les valeurs de TVA par rapport aux catégories
Clé(s)
L'identifiant de la relation est l'attribut numPièce.
Forme normale
La relation est en deuxième forme normale. Elle n'est pas en troisième forme normale car il y a une dépendance transitive.
Décomposition BCNF
Pièce (numPièce, prix, libellé, catégorie)
- catégorie référence TVA.catégorie
TVA(catégorie, tva)
Ces deux relations sont en BCNF. Il n'y a pas de perte d'information ni de perte de dépendance.
Exercice 2 : Primes
Anomalie(s)
Il y a des redondances sur les attributs nomMachine (par rapport à numTypeMachine) et nomTechnicien (par rapport à numTechnicien).
Un problème se pose quand il y a des machines sur les quelles personne ne travaille : quelles sont dans ce cas les valeurs des attributs numTechnicien, nomTechnicien et montantPrime ? Le problème se pose également s'il y a des techniciens qui ne travaillent sur aucune machine.
Clé(s)
L'identi fiant de la relation est (numTypeMachine, numTechnicien).
Forme normale
La relation est en première forme normale. Elle n'est pas en deuxième forme normale car il y a des attributs non-clé qui dépendent d'une partie de la clé.
Décomposition BCNF
Machine(numtypeMachine, nomMachine)
Technicien(numTechnicien, nomTechnicien)
Prime(numTypeMachine, numTechnicien, montantPrime)
- numTypeMachine référence Machine.numTypeMachine
- numTechnicien référence Technicien.numTechnicien
Ces relations sont en BCNF. Il n'y a pas de perte d'information ni de perte de dépendance.
Exercice 3 : Auteurs
Anomalie(s)
Il n'y a pas d'anomalie dans cette relation.
Clé(s)
Cette relation possède deux clés:
- auteur, publication
- ouvrage, position
Forme normale
La relation est déjà en BCNF.
Exercice 4 : Commandes
Anomalie(s)
Les dépendances numClient --> nomClient et numProduit --> nomProduit sont anormales et causent des problèmes de mise à jour et de suppression : que faire si un client n'a effectué aucune commande ou si un produit n'a jamais été commandé ?
Clé(s)
L'identi fiant de la relation est l'attribut numCommande.
Forme normale
La relation est en deuxième forme normale. Elle n'est pas en troisième forme normale car il y a une dépendance transitive.
Décomposition BCNF
Commande(numCommande, numClient, date, numProduit)
- numClient référence Client.numClient
- numProduit référence Produit.numProduit
Client(numClient,nomClient)
Produit(numProduit,nomProduit)
Ces relations sont en BCNF. Il n'y a pas de perte d'information ni de perte de dépendance.
Exercice 5 : Employés
Anomalie(s)
Il y a des redondances sur les attributs nomEmployé, adresse et nomProjet.
Clé(s)
L'identi fiant de la relation est (numEmployé, numLaboratoire).
Forme normale
La relation est en première forme normale. Elle n'est pas en deuxième forme normale car il y a des attributs non-clé qui dépendent d'une partie de la clé.
Décomposition BCNF
Travaille(numEmployé, numLaboratoire, numProjet)
- numEmployé référence Employé.numEmployé
- numProjet référence Projet.numProjet
Employé(numEmployé, nomEmployé, adresse)
Projet(numProjet, nomProjet)
Ces relations sont en BCNF. Il n'y a pas de perte d'information ni de perte de dépendance.
Exercice 6 : Cinéma
Anomalie(s)
Les dépendances salle --> ville et distributeur --> délègue sont anormales et causent des problèmes de mise à jour et de suppression : que faire si un distributeur n'a jamais distribué un film ou si un aucun fil lm n'a été projeté dans une salle?
Clé(s)
Cette relation possède deux clés:
- film,ville
- salle,film
Forme normale
La relation est en deuxième forme normale. Elle n'est pas en troisième forme normale car il y a une dépendance transitive.
Décomposition BCNF
Voici une façon de décomposer cette relation en BCNF, il en existe d'autres.
Cinéma(film, ville, distributeur)
- distributeur référence Distributeur.distributeur
- ville référence Salle.ville
- salle référence Salle.salle
Distributeur(distributeur, délégué)
Salle(salle, ville)
Ces relations sont en BCNF . Par contre, la dépendance(film; ville) --> salle est perdue. Lors de l'implémentation de cette base de données, un mécanisme de vérification de cette dépendance devra donc être introduite par les développeurs.
Article plus récent Article plus ancien