Exercices Corrigés Dépendances fonctionnelles(Forme Normale) – Partie 8
La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les dépendances fonctionnelles et normalisation des bases de données. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les Dépendances fonctionnelles et Normalisation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!
Vous pouvez lire notre tutoriel sur les dépendances fonctionnelles et normalisation des bases de données avant de résoudre les exercices suivants.
1. Considérons l’instruction de création de table suivante :
CREATE TABLE r1( n1 INTEGER, n2 INTEGER, n3 INTEGER, n4 INTEGER, n5 INTEGER, PRIMARY KEY (n1, n2), UNIQUE (n3,n4), FOREIGN KEY (n5) REFERENCES r2(n5) )
1.1) Listez toutes les dépendances fonctionnelles non triviales relatives aux attributs de r1 qui peuvent être déduites de l’instruction CREATE TABLE.
1.2) Est-ce que r1 est en BCNF ? Donnez une brève explication.
1.3) r1 est-il en 3NF ? Donnez une brève explication
2. Considérons l’instance de relation suivant :
Notez que B → A semble s’appliquer à l’instance donnée. Vérifiez si toutes les dépendances suivantes s’appliquent à l’instance et expliquez pourquoi :
a) A → B b) B → C c) C → A
3. Considérons le schéma relationnel suivant :
// un employé a vendu un article un jour donné Vente(employé, magasin, ville, date, article, taille, couleur) // prix et tailles et couleurs disponibles pour les articles Article(article, taille, couleur, prix)
Faites les hypothèses suivantes :
- Chaque employé travaille dans un seul magasin.
- Chaque magasin est situé dans une seule ville.
- Un article donné a toujours le même prix, quelle que soit sa taille ou sa couleur.
- Chaque article est disponible dans une ou plusieurs tailles et une ou plusieurs couleurs, et chaque article est disponible dans toutes les combinaisons de tailles et de couleurs pour cet article.
La vente ne contient pas de doublons : Si un vendeur vend plusieurs exemplaires d’un article donné dans une taille et une couleur données un jour donné, un seul tuple apparaît dans la relation Vente pour enregistrer ce fait.
3.1) Spécifiez un ensemble de dépendances fonctionnelles complètement non triviales pour les relations Vente et Article qui traduit les hypothèses décrites ci-dessus.
3.2) En vous basant sur les dépendances fonctionnelles de la question 3.1), spécifiez toutes les clés minimales pour les relations Vente et Article.
3.3) Le schéma est-il en forme normale de BCNF d’après vos réponses aux points 3.1) et 3.2) ? Si ce n’est pas le cas, donnez une décomposition en BCNF.
3.4) Considérez maintenant vos relations décomposées de la question 3.3), ou les relations originales si vous n’avez pas eu besoin de les décomposer pour la question 3.3). Spécifiez un ensemble de dépendances multivaluées non triviales pour les relations Vente et Article qui traduit les hypothèses décrites ci-dessus. N’incluez pas les dépendances multivaluées qui sont également des dépendances fonctionnelles.
3.5) Les relations que vous avez utilisées dans la partie 3.5) sont-elles en Quatrième Forme Normale (4NF) d’après vos réponses aux questions 3.1) jusqu’à 3.5) ? Si ce n’est pas le cas, donnez une décomposition en 4NF.
4. Considérons le schéma R = (A, B, C, D, E) ainsi que les dépendances fonctionnelles suivantes:
AB → C CD → A C → E C → B
4.1) Quelles sont les clés de R ?
4.2) R(A,B,C,D,E) est-il en BCNF? Pourquoi ou pourquoi pas ? Si ce n’est pas le cas, décomposez cette relation en BCNF.
4.3) R(A,B,C,D,E) est-il en 3FN? Pourquoi ou pourquoi pas ?
5. Considérons le schéma R(A,B,C,D,E,F,G,H,I) avec les dépendances fonctionnelles suivantes:
A -> B, C -> D
Supposons que R1(A,B,C,D,E) soit une relation obtenue par décomposition de R. R1 est-il en BCNF? Pourquoi ou pourquoi pas ? Si ce n’est pas le cas, décomposez-la en une ensemble de relations BCNF.
6. Considérons le schéma S(A,B,C,D,E) avec les dépendances fonctionnelles suivantes:
BD -> A AB -> C D -> A B -> C C -> E
S est-il en 3NF ? Pourquoi ou pourquoi pas ? Si ce n’est pas le cas, décomposez en 3NF.
7. Créez un diagramme ER pour la spécification suivante :
- Une banque dispose d’une base de données contenant des comptes.
- Pour chaque compte, elle enregistre le numéro de compte (unique) et le solde actuel.
- Il existe deux types de comptes : les comptes chèques et les comptes d’épargne. Les comptes d’épargne sont assortis d’un taux d’intérêt. Les comptes de chèques sont assortis d’une commission mensuelle.
- La base de données contient également des informations sur les clients : leur nom, leur numéro d’assurance sociale (NAS) unique et une adresse unique.
- La banque enregistre, pour chaque compte, le ou les titulaires (dans le cas de comptes joints) qui possèdent le compte.
- Chaque compte doit avoir au moins un titulaire.