Vous êtes sur la page 1sur 4

Concevoir une base de données -3-

Exercice 1
T ravaux dirigés
Les Formes Normales

On considère un ensembles de DFs relatif a la gestion d’un ensemble de centre de formation

DF.1 NumcentreNomcentre
DF.2 Numcentresuperficie
DF.3 NumcentreNbrelocaux
DF.4 Numcentrenumdirecteur
DF.5 Numcentrenomdirecteur
DF.6 NumcentreNbre-élève
DF.7 NumcentreAdresse
DF.8 Numcentre,Adressenomcentre
DF.9 numdirecteurnomdirecteur
DF.10 numspécialitélibelléspec (plusieurs spécialité peuvent être existe dans un
centre)

Questions :

Q.1. Trouvez la couverture minimale de cet ensemble de DF


Q.2. En appliquant l’algorithme de synthèse, proposez un schéma de relations en 3FN

Exercice 2

On désire concevoir un schéma relationnel en 3FN pour stocker les informations nécessaire
à la gestion de soutenances de projets de fin d’études (PFE) des étudiants de la filière informatique.
Les données de ce problème sont les suivants :
Un étudiant est identifiés par un numéro unique (Matricule) il possède un nom et un prénom
(Nom, Prénom) .Un PFE est identifié par un numéro (NumPFE) , il est décrit par un titre de sujet(
titre ) et une spécialité .Les soutenances de PFE se déroulent dans des sessions différentes, une
session est identifié par un numéro (Numsession) et se déroule entre deux dates (Datedeb et
Datefin) ;Les soutenances se font en présence d’un jury qui doit évaluer le travail effectué .un jury
est identifié par un numéro de jury (Numjury) et est composé de trois enseignants : un président
identifie par Code_ensPr et deux membre désigné respectivement par code_EnsM1 et code_EnsM2
TS base de données /s3

.Une soutenance est fermé par une décision de jury admis ou ajourné .Un enseignant est identifiés
par un numéro ( Code_Ens) ,possède un nom et un prénom (Nom_Ens, Prénom_Ens) et une
spécialité
Questions :

Q.1. En appliquant l’algorithme de synthèse, trouvez un schéma de relations en 3FN de ce


domaine
Concevoir une base de données -3-

Exercice 1
S olution des exercices

1. Couverture minimale de l’ensemble de DF


On élimine les DF 5 et 8 car elles peuvent être déduites des autres.
La DF 5 est déduite par transitivité des DF 4et 9
La DF8 est déduite par augmentation de la DF 1
DF.1 NumcentreNomcentre DF.5 NumcentreNbre-élève
DF.2 Numcentresuperficie DF.6 NumcentreAdresse
DF.3 NumcentreNbrelocaux DF.7 numdirecteurnomdirecteur
DF.4 Numcentrenumdirecteur DF.8 numspécialitélibelléspec

2. schéma en 3FN

Centre (Numcentre, Nomcentre, superficie, Nbrelocaux, Nbre_élève, Adresse, numdirecteur)


Directeur (Numdirecteur, nomdirecteur)
Spécialité (Numspecialite, libelléspec)
Possède (Numcentre, Numspecialite)

Exercice 2
-1ère étape : Calcul de la relation universelle
R= {Matricule, Nom,Prénom ,NumPFE , Code_ens , Nom_ens, Prénom_ens, spécialité,
Numsession, Datedeb ,Datefin , Titre ,NumSoutenance, Numjury , Décision ,
mention ,Numjury ,Code_ensPr,code_EnsM1 , code_EnsM2 }
-2ème étape Calcul de l’ensemble minimal de DF
Matricule → Nom Numsession→Datedeb NumSoutenance→ Numsession
Matricule →Prénom Numsession→ Datefin NumSoutenance→ Décision
Matricule →NumPFE NumPFE→Titre NumSoutenance→ mention
Code_ens→Nom_ens NumPFE→spécialité Numjury→Code_ensPr
Code_ens→Prénom_ens NumSoutenance→ NumPFE Numjury→ code_EnsM1
Code_ens→spécialité NumSoutenance→ Numjury Numjury→ Code_EnsM2
-3ème étape Le schéma de la relation en 3FN
TS base de données /s3

Etudiants (Matricule, Nom, Prénom, NumPFE) Soutenance (NumSoutenance, NumPFE,


Enseignant (Code_ens, Nom_ens, Prénom_ens, Numjury, Numsession, Décision, mention)
Spécialité) Jury (Numjury, Code_ensPr, code_EnsM1,
Session (Numsession, Datedeb, Datefin) Code_EnsM2)
PFE (NumPFE, Titre, spécialité)
-4ème étape : Traiter les attributs isolés (pas d’attributs isolés dans ce cas
Concevoir une base de données -3-

Exercice 3
On considère une relation R (A, B, C, D, E, G, H)

Soit F l’ensemble des dépendances fonctionnelles (DF) associé à R :

. A, B  C
.BD
. C, D  E
. C, E  G
. C, E  H
.GA

1. Démontrer formellement en utilisant les axiomes d’Armstrong que (B, G) est une clé de R.
2. La relation R est-elle en deuxième forme normale ? En troisième forme normale ?
3. Donner si besoin une décomposition de R en relations en troisième forme normale. Les relations
obtenues sont-elles toutes en BCNF (forme normale de Boyce-Codd) ?

Exercice 4

Soit la relation Restaurant définie par le schéma suivant :


Restaurant (Num_Menu, Nom_Menu, Num_Plat, Nom_Plat, Type_Plat)
On considère F, l'ensemble des dépendances fonctionnelles de cette relation :
F = {Num_Menu → Nom_Menu, Num_Menu → Num_Plat, Num_Plat → Nom_Plat,
Num_Plat → Type_Plat}
1. Quelle est la clé primaire de cette relation ?
2. Quelle est la plus grande forme normale de cette relation ?
3. Proposez une décomposition de cette relation en 3FN

Exercice 5
Soit la relation R (A, B, C, D, E) avec les DFs suivantes :
A → B (1)
B C → E (2)
D E → A (3)
TS base de données /s3

1. Lister la ou les clé(s) de R


2. R est-elle en 3NF ? Sinon normaliser en 3NF.
3. Les relations obtenues sont-elles en BCNF ? Sinon normaliser en BCNF.
4. Y-a-il perte de dépendances ? Les quelles?
Concevoir une base de données -4-

Exercice n 4 : (3pts)
1. La clé primaire de la relation Restaurant est Num_Menu (avec justification)
2. La plus grande forme normale de Restaurant :
1FN: vérifiée car tous les attributs de la relation Restaurant sont atomiques
2FN: vérifiée car la relation Restaurant est en 1FN et tous ses attributs non clé sont en Df irréductibles
(élémentaires) avec sa clé primaire Num_Menu
3FN: la relation Restaurant doit être en 2FN (vérifiée) et tous ses attributs non clé doivent être en Df
directe
avec sa clé primaire Num_Menu : Non vérifiée car Nom_plat n'est pas en Df directe avec Num_Menu
puisque Num_Plat → Nom_Plat.
3. Décomposition de la relation Restaurant en 3FN.
Principe de normalisation : effectuer des projections pour éliminer les dépendances transitives.
Si R(A, B, C) et A est la clé primaire de R et B C est une DF satisfaite par R, alors
R peut être décomposée en : R2 (A, B) et R1 (B, C)
Restaurant (Num_menu, Nom_Menu, Num_Plat, Nom_Plat, Type_Plat )
Nom_plat n'est pas en Df directe avec Num_Menu (Num_Plat → Nom_Plat), De même pour Type_plat
(Num_Plat → Type_Plat)
Restaurant sera décomposée en
Menu ( ‫آ‬Num_menu, Nom_Menu, Num_Plat) en 3FN
Plats(Num_Plat, Nom_Plat, Type_Plat) en 3FN
Autre Solution : On peut appliquer l'algorithme de synthèse pour déterminer la décomposition 3FN

Corrigé exercice 05 :
1. Lister la ou les clés de R
On peut d'abord constater que les DFs données sont totales (partie gauche minimale) et qu'aucun
combinaison de deux attributs ne détermine les autres attributs. Une clé candidate est composée d'au
moins trois attributs.
On constate aussi que C et D ne sont en partie droite d'aucune des Dfs. La combinaison CD est donc
dans toute clé candidate. Examinons les trois combinaisons possibles On
On a : (2) entraine BCD → ED (et BCD → E par la même occasion)
comme ED → A (3), il en découle
BCD → A aussi
Par ailleurs, (3) entraine DEC → A (à fortiori)
comme A → B (1), il en découle
DEC → B aussi
Qu'en est-il de CDA ?
(1) entraine CDA → B et comme CDA → C (trivial)
CDA → BC, et d'après (2) CDA → E
On a donc trois clés candidates BCD, DEC et CDA.
R (B, C, D, A, E) ou R' (D, E, C, A, B) ou R'' (D, C, A, B, E)
2. R est-elle en 3NF ? Sinon normaliser en 3NF.
Ces relations sont toutes en 3FN, vu qu'il n'y a aucun attribut non clé.
3. Les relations obtenues sont-elles en BCNF ? Sinon normaliser en BCNF
Une relation est en BCNF si pour chaque DF X → Y, X contient une clé. Les trois DFs
initiales violent cette exigence.
On normalise donc en BCNF et on a, par exemple, les trois relations suivantes :
TS base de données –

R1(D, E, A)
R3 (B, C, E)
R2 (D, C, B)
4. Y-a-il perte de dépendances ? Lesquelles ?

Dans cette décomposition, on a « perdu » la DF A → B

Vous aimerez peut-être aussi