Vous êtes sur la page 1sur 11

20/04/2020

Section : L2 ACAD B
Module : Base de Données
Responsable du Module : N. ABDAT

Séance de TD

Série N°2

20 Avril 2020

Exercice N° 1
Soit une relation R (A, B, C, D, E, F), et l'ensemble G de dfs satisfaites par R:
G = {A B  C, A B  D, A B  E, A B  F, B  C, D  E, D  F }
1. Couverture minimale :
Propriété 1 : membres droits des Dfs (dépendants) sont des singletons? vérifiée

Propriété 2 : membres gauches des Dfs (déterminants) irréductibles?

Propriété 3 : Aucune Df n’est redondante ?

B C Augmentation par A, puis décomposition, on obtient A B  C


A B  C est redondante à enlever
A B  D et D  E donc A B  E (par transitivité)
A B  E redondante à enlever

A B  D et D  F donc A B  F (par transitivité)


A B  F redondante à enlever
On obtient: {A B  D, B  C, D  E, D  F }
Les 3 propriétés sont vérifiées , c’est une couverture minimale

1
20/04/2020

2. Dé te rminer la clé primaire de R.


{A B  D, B  C, D  E, D  F }

la Superclé formée des attributs des membres gches des dfs (Déterminants) : A B D

A B D devient A B car A B  D

AB unique et irréductible. C’est une clé candidate et c’est la seule


C ’est la clé primaire de R.

3. Q ue lle est la plus grande forme normale de R ?

1FN : OK
R en 1 FN
2FN : Non car B  C

4. Proposer une décomposition de R en 3FN.

Rappel du Principe de décomposition e n 2FN :


R (A, B, C, D, E, F) Soit la relation R (A, B, C, D) et la DF A  D
et B  C On décomposer R en::
 R1 (A, D)
 R2 (A, B, C)
R1(B,C) { B  C } 2FN
R2(A, B, D, E, F) {A B  D, D  E, D  F } 2FN
Rappel du Principe de décomposition en 3FN :
3FN ?
Soit R(A, B, C) et B  C
R1 OK Les principes de normalisation recommandent de
R2 Non remplacer R par R1 et R2 tq :
• R1 (B, C)
Décomposition de R2 • R2 (A, B)
R3(D, E, F) { D  E, D  F } 3FN
R4(A, B, D) {A B  D} 3FN

Dé composition de R e n 3FN :
R1(B,C) { B  C }
R3(D, E, F) { D  E, D  F }
R4(A, B, D) {A B  D} éf

2
20/04/2020

Exercice 2 :
Soit la relation Courses_Bateaux (Nbat, Nombateau, Sponsor, Ncourse, NomCourse, Année, Position )
Et son ensemble de dfs F = { Nbat  Nombateau, Nbat  Sponsor, Ncourse  NomCourse,
Ncourse  Année, Ncourse, Nbat  Position }
COURSES_BATEAUX
Nbat Nombateau Sponsor Ncourse NomCourse Année Position
102 TASSILI DJEZZY 210 COURSE DE LA LIBERTE 2016 2
102 TASSILI DJEZZY 240 COURSE DE LA LIBERTE 2017 1
102 TASSILI DJEZZY 270 COURSE DE LA LIBERTE 2018 4
103 EL BAHDJA BNA 210 COURSE DE LA LIBERTE 2016 3
103 EL BAHDJA BNA 215 LE GRAND TOUR 2017 3
104 LA COLOMBE OOREDOO 200 LE GRAND TOUR 2015 2
104 LA COLOMBE OOREDOO 210 COURSE DE LA LIBERTE 2016 1
104 LA COLOMBE OOREDOO 215 LE GRAND TOUR 2017 2
104 LA COLOMBE OOREDOO 220 TROPHEE BARBEROUSSE 2017 2
104 LA COLOMBE OOREDOO 240 COURSE DE LA LIBERTE 2017 3
104 LA COLOMBE OOREDOO 260 TROPHEE BARBEROUSSE 2019 5
104 LA COLOMBE OOREDOO 265 LE GRAND TOUR 2019 1
104 LA COLOMBE OOREDOO 270 COURSE DE LA LIBERTE 2018 3
105 HOGGAR BNA 220 TROPHEE BARBEROUSSE 2017 1

1. Quelle est la clé primaire de cette relation?


Une seule clé candidate : (Nbat, Ncourse), C’est la clé primaire de la
relation COURSES_BATEAUX

2. En considérant l'extension donnée, mettez en évidence des problèmes


de mise à jour.
Les problèmes de mise à jour consistent en :
• Anomalie de modification
• Anomalie d'insertion
• Anomalie de suppression

Anomalie de modification: si on doit changer une information redondante, il


faut changer cette information dans plusieurs tuples. Par exemple, pour
modifier le sponsor du bateau N°104, on répète cette modification 8 fois.

Anomalie d'insertion : pour ajouter les informations d'une nouvelle course,


il faut lui affecter au moins un bateau et inversement.

Anomalie de suppression : si un ensemble de valeurs devient vide, on peut


perdre d'autres informations. Par exemple, si on supprime la course 220, on
perd les informations sur le bateau 105.

3
20/04/2020

3. Q ue lle est la plus grande forme normale de la re lation Courses_Bateaux?


1FN : OK
2FN : ?
F = { Nbat  Nombate au, Nbat  Sponsor,
Ncourse  NomCourse,
Ncourse  Année, Ncourse, Nbat  Position }

Nbat  Nombate au : Nombateau n’est pas en df élémentaire avec la clé


Donc, la relation Courses_Bateaux n’et pas en 2FN

La plus grande forme normale de la relation Courses_Bateaux e st 1FN

4. Dé compose r la re lation Courses_Bateaux e n relations 3FN.


-Décomposition de Courses_Bateaux en 2FN :

Nbat  Nombateau Nbat  Sponsor Ncourse  NomCourse Ncourse  Année

Nombateau, Sponsor, NomCourse, Année ne sont pas en df élémentaire avec la clé

-Décomposition de Courses_Bateaux en 2FN :

Nbat  Nombateau Bateau (Nbat, Nombateau, Sponsor) 2FN


Nbat  Sponsor Courses_Bateaux2 (Nbat, Ncourse, NomCourse, Année, Position)
Non 2FN
-Décomposition de Courses_Bateaux2 en 2FN :

Ncourse  NomCourse Course (Ncourse, NomCourse, Année ) 2FN


Ncourse  Année
Courses_Bateaux3 (Nbat, Ncourse, Position) 2FN
-D’où la décomposition de Courses_Bateaux en 2FN est :

Bateau (Nbat, Nombateau, Sponsor) { Nbat  Nombateau, Nbat  Sponsor }


Course (Ncourse, NomCourse, Année ) { NcoursNomCourse, NcourseAnnée}
Courses_Bateaux 3 (Nbat, Ncourse, Position) { Nbat, Ncourse  Position }

Ce tte dé composition e st e n 3FN

4
20/04/2020

5. Appliquer la décomposition obtenue sur l'extension donnée

Bateau (Nbat, Nombateau, Sponsor)


Course (Ncourse, NomCourse, Année )
Courses_Bateaux 3 (Nbat, Ncourse, Position)

Nbat Nombateau Sponsor Ncourse NomCourse Année Position


102 TASSILI DJEZZY 210 COURSE DE LA LIBERTE 2016 2
102 TASSILI DJEZZY 240 COURSE DE LA LIBERTE 2017 1
102 TASSILI DJEZZY 270 COURSE DE LA LIBERTE 2018 4
103 EL BAHDJA BNA 210 COURSE DE LA LIBERTE 2016 3
103 EL BAHDJA BNA 215 LE GRAND TOUR 2017 3
104 LA COLOMBE OOREDOO 200 LE GRAND TOUR 2015 2
104 LA COLOMBE OOREDOO 210 COURSE DE LA LIBERTE 2016 1
104 LA COLOMBE OOREDOO 215 LE GRAND TOUR 2017 2
104 LA COLOMBE OOREDOO 220 TROPHEE BARBEROUSSE 2017 2
104 LA COLOMBE OOREDOO 240 COURSE DE LA LIBERTE 2017 3
104 LA COLOMBE OOREDOO 260 TROPHEE BARBEROUSSE 2019 5
104 LA COLOMBE OOREDOO 265 LE GRAND TOUR 2019 1
104 LA COLOMBE OOREDOO 270 COURSE DE LA LIBERTE 2018 3
105 HOGGAR BNA 220 TROPHEE BARBEROUSSE 2017 1

Bateau (Nbat, Nombateau, Sponsor)

Nbat Nombateau Sponsor


102 TASSILI DJEZZY
102 TASSILI DJEZZY Bateau
102 TASSILI DJEZZY
Nbat Nombateau Sponsor
103 EL BAHDJA BNA
103 EL BAHDJA BNA 102 TASSILI DJEZZY
104 LA COLOMBE OOREDOO 103 EL BAHDJA BNA
104 LA COLOMBE OOREDOO 104 LA COLOMBE OOREDOO
104 LA COLOMBE OOREDOO 105 HOGGAR BNA
104 LA COLOMBE OOREDOO
104 LA COLOMBE OOREDOO
104 LA COLOMBE OOREDOO
104 LA COLOMBE OOREDOO
104 LA COLOMBE OOREDOO
105 HOGGAR BNA

5
20/04/2020

Course (Ncourse, NomCourse, Année )

Ncourse NomCourse Année

210 COURSE DE LA LIBERTE 2016


240 COURSE DE LA LIBERTE 2017
270 COURSE DE LA LIBERTE 2018 Course
210 COURSE DE LA LIBERTE 2016 Ncourse NomCourse Année
215 LE GRAND TOUR 2017
210 COURSE DE LA LIBERTE 2016
200 LE GRAND TOUR 2015 240 COURSE DE LA LIBERTE 2017
210 COURSE DE LA LIBERTE 2016 270 COURSE DE LA LIBERTE 2018
215 LE GRAND TOUR 2017 215 LE GRAND TOUR 2017
220 TROPHEE BARBEROUSSE 2017 200 LE GRAND TOUR 2015
240 COURSE DE LA LIBERTE 2017 220 TROPHEE BARBEROUSSE 2017
260 TROPHEE BARBEROUSSE 2019
260 TROPHEE BARBEROUSSE 2019
265 LE GRAND TOUR 2019
265 LE GRAND TOUR 2019
270 COURSE DE LA LIBERTE 2018
220 TROPHEE BARBEROUSSE 2017

Courses_Bateaux 3 (Nbat, Ncourse, Position)

Courses_Bateaux 3
Nbat Ncourse Position
102 210 2
102 240 1
102 270 4
103 210 3
103 215 3
104 200 2
104 210 1
104 215 2
104 220 2
104 240 3
104 260 5
104 265 1
104 270 3
105 220 1

6
20/04/2020

La décomposition obtenue :

Bateau
Nbat Nombateau Sponsor Courses_Bateaux 3
102 TASSILI DJEZZY Nbat Ncourse Position
103 EL BAHDJA BNA 102 210 2
104 LA COLOMBE OOREDOO 102 240 1
105 HOGGAR BNA 102 270 4
103 210 3
Course 103 215 3
104 200 2
Ncourse NomCourse Année
104 210 1
210 COURSE DE LA LIBERTE 2016 104 215 2
240 COURSE DE LA LIBERTE 2017 104 220 2
270 COURSE DE LA LIBERTE 2018 104 240 3
215 LE GRAND TOUR 2017 104 260 5
200 LE GRAND TOUR 2015 104 265 1
104 270 3
220 TROPHEE BARBEROUSSE 2017
260 TROPHEE BARBEROUSSE 2019 105 220 1
265 LE GRAND TOUR 2019

On remarque que toutes les anomalies de mise à jour constatées dans la Q2


sont résolues dans cette décomposition.

6. Vérifiez qu'il n'y a pas perte d'informations ni perte de df.


On peut retrouver toutes les informations de départ : pas perte d'informations
On a également toutes les Dfs :

Bateau (Nbat, Nombateau, Sponsor) { Nbat  Nombateau, Nbat  Sponsor }


Course (Ncourse, NomCourse, Année ) { NcoursNomCourse, NcourseAnnée}
Courses_Bateaux3 (Nbat, Ncourse, Position) { Nbat, Ncourse  Position }

pas perte de dfs


7. Cette décomposition est-elle en BCNF?

Définition Une relation est en BCNF ssi les seuls déterminants sont des clés candidates.

Vérifié pour chaque relation (Bateau , Course et Courses_Bateaux3 )

Donc, O ui cette décomposition est en BCNF.

7
20/04/2020

Exe rcice N°3 :


a) Dé te rminer l’ensemble de s dé pendances fonctionnelles.

Le Parc est composé de plusieurs zones. Chaque zone est Codz  nomz
caractérisée par un code unique (codz), un nom (nomz), une Codz  loc
localisation (loc), une surface (surf) et un type d’animaux (typa). Codz  surf
Codz  typa
Une zone contient plusieurs enclos. Un enclos est un espace
de terrain entouré d’une clôture.
nenc  Codz
Chaque enclos est localisé dans une zone et il est décrit par un nenc  tenc
numéro unique (nenc), un type (tenc) et la position vis-à-vis de
nenc  pos
la zone (pos).
Chaque enclos est constitué de plusie urs cage s. Chacune
contenant un ou plusieurs animaux d’une même espèce (esp)
Nenc, ncag, dated  esp
pendant une durée limitée allant d’une date de dé but (dated) à
Nenc, ncag, dated  datef
une date de fin (datef). Une cage est décrite par (ncag) : un
numéro séquentiel dans l’enclos.
Coda  noma
On enregistre les données suivantes spécifiant un animal du Coda  esp
parc : code unique (coda), nom (noma), espèce (esp), origine Coda  origin
(origin), date et lieu de naissance (dateN et lieuN) et Coda  dateN
description (desc). Coda  lieuN
Coda, dated  ncag Coda  desc
Coda, dated  nenc

Un enclos est pris en charge par un ou plusieurs employés du


mat  nom
parc pendant une durée selon un planning d’affection annuel.
mat  prénom
Ce planning, correspondant à une année, contient les
informations suivantes : matricule de l’employé (mat), son mat, nenc, datea  datefa
nom, son prénom, les différents enclos affectés avec la date
d’affectation et la date de fin de tâches vis-à-vis de ces
derniers.
Une espèce d’animal à un régime alimentaire quotidien bien Esp  nbl
spécifique. Ce régime est composé d’un nombre de litres d’eau, une Esp  qtév
quantité de viande et une quantité de légumes bien précises. Esp qtél

Le suivi médical des animaux se fait de façon périodique. On Coda, datectrl  etat
enregistre ainsi, dans une fiche médicale, les informations Coda, datectrl  temp
suivantes : code de l’animal, la date du contrôle, son état de Coda, datectrl  testA
santé, la température prélevée, les résultats des tests sanguins Coda, datectrl  testB
(testA, testB et testC), les médicaments prescrits. Coda, datectrl  testC

Pour chaque médicament (med), on précise Coda, datectrl, med  qtemed


la quantité (qtemed) et la durée du traitement (durmed). Coda, datectrl, med  durmed

8
20/04/2020

Par ailleurs, des entreprises (une ou plusie urs)


peuvent sponsoriser une ou plusieurs zones du parc
pendant une ou plusieurs années en garantissant un
montant financier important.

On notifie ce sponsoring par les données


suivantes : matricule électronique du registre de matent  noment
commerce de l’entreprise (matent), nom de matent CA
l’entreprise, son chiffre d’affaires,
année du début de sponsoring ainsi que le nombre matent, Andéb  nban
d’années, le montant financier assuré (mta). matent, Andéb  mta

b) Dé te rminer le schéma relationnel e n 3 FN, e n appliquant l’algorithme de


synthèse.
mat  nom
Codz  nomz mat  prénom
Codz  loc mat, nenc, datea  datefa
Codz  surf
Codz  typa
Esp  nbl
nenc  Codz Esp  qtév
nenc  tenc Esp qtél
nenc  pos
Coda, datectrl  etat
Coda, datectrl  temp
Nenc, ncag, dated  esp Coda, datectrl  testA
Nenc, ncag, dated  datef Coda, datectrl  testB
Coda, datectrl  testC
Coda  noma
Coda  esp Coda, datectrl, med  qtemed
Coda  origin Coda, datectrl, med  durmed
Coda  dateN
Coda  lieuN matent  noment
Coda  desc matent CA
Coda, dated  ncag matent, Andéb  nban
Coda, dated  nenc matent, Andéb  mta

9
20/04/2020

Etape 1 : Couverture minimale :


Propriété 1 : membres droits des Dfs (dépendants) sont des singletons? vérifiée
Propriété 2 : membres gauches des Dfs (déterminants) irréductibles? vérifiée
Propriété 3 : Aucune Df n’est redondante ? vérifiée

ETAPE 2 : Regrouper les DFs par membres gauches :

ETAPE 2 : Regrouper les DFs par membres gauches :


Codz  nomz G6 mat  nom
G1 Codz  loc mat  prénom
Codz  surf
Codz  typa G7 mat, nenc, datea  datefa

Esp  nbl
nenc  Codz G8 Esp  qtév
G2 nenc  tenc
Esp qtél
nenc  pos
Coda, datectrl  etat
Nenc, ncag, dated  esp Coda, datectrl  temp
G3 G9
Nenc, ncag, dated  datef Coda, datectrl  testA
Coda, datectrl  testB
Coda  noma Coda, datectrl  testC
Coda  esp
G4 Coda  origin Coda, datectrl, med  qtemed
G10
Coda  dateN Coda, datectrl, med  durmed
Coda  lieuN
Coda  desc matent  noment
G11
matent CA
Coda, dated  ncag
G5 matent, Andéb  nban
Coda, dated  nenc G12
matent, Andéb  mta

10
20/04/2020

ETAP E 3 : Pour chaque groupe F’i construire un schéma Ri={Xi, Yi} où Yi est
l’ensemble de tous les attributs apparaissant à droite du groupe F’i :
Zone ( Codz, nomz, loc, surf; typa)
Enclos (nenc, Codz, tenc, pos)
Cage (Nenc, ncag, dated, esp, datef)
Animal (Coda, noma, esp, origin, dateN, lieuN, desc)
Cage-Animal (Coda, dated, ncag, nenc )
Employé (mat, nom, prénom )
Affectation-Employé (mat, nenc, datea, datefa )
Espèce (Esp, nbl, qtév, qtél )
Contrôle (Coda, datectrl, etat, temp, testA, testB , testC )
Prescription (Coda, datectrl, med , qtemed, durmed )
Entreprise (matent, noment, CA )
Sponsoring (matent, Andéb, nban, mta )
des entreprises (une ou plusieurs)
Pour retrouver les zones sponsorisées par peuvent sponsoriser une ou plusieurs
les entreprises (voir énoncé), on ajoute la zones du parc pendant une ou
relation : plusieurs années en garantissant un
Sponsoring-Zones (matent, Andéb, Codz ) montant financier important.

Le schéma relationnel en 3 FN obtenu :

Zone ( Codz, nomz, loc, surf; typa)


Enclos (nenc, Codz, tenc, pos)
Cage (Nenc, ncag, dated, esp, datef)
Animal (Coda, noma, esp, origin, dateN, lieuN, desc)
Cage-Animal (Coda, dated, ncag, nenc )
Employé (mat, nom, prénom )
Affectation-Employé (mat, nenc, datea, datefa )
Espèce (Esp, nbl, qtév, qtél )
Contrôle (Coda, datectrl, etat, temp, testA, testB , testC )
Prescription (Coda, datectrl, med , qtemed, durmed )
Entreprise (matent, noment, CA )
Sponsoring (matent, Andéb, nban, mta )
Sponsoring-Zones (matent, Andéb, Codz)

11

Vous aimerez peut-être aussi