1 bases de données avancées: base de données relationnelles 29 mai 2014 dr. rim samia kaabi
Embed Size (px)
TRANSCRIPT

1
Bases de Données Avancées: Base de
données relationnelles
11 avril 2023
Dr. Rim Samia Kaabi

2
Normalisation d’une BD Relationnelle

Normalisation des relations
cas des «projets»
Collection des attributs
• NoEmp : numéro d’un employé
• Nom : nom d’un employé
• Année : année d’embauche d’un employé
• NoDep : n° de département
• Intitulé : nom d’un département
• Taille : nombre d’employés d’un département
• NoResp : n° de l’employé responsable d’un département
• NoProj : n° d’un projet
• NoChef : n° d’ l’employé chef d’un projet
• Temps : % de temps qu’un employé passe sur un projet

Normalisation des relations
Pourquoi tel ensemble de relations, plutôt que tel autre ?
Exemple 1 :RE1(NoEmp, NoDep, Nom, Intitulé,Taille)RT1(NoEmp, NoProj,NoDep,Intitulé, Année, Temps, NoResp)RP1(NoProj, NoChef)
Exemple 2 :RE2(NoEmp, NoDep, Nom, Année, Intitulé, NoResp)RD2(NoDep, Taille)RT2(NoEmp, NoProj, Temps, NoChef)
Exemple 3 : Relation universelle
RU(NoEmp, NoProj, NoChef, Temps, Nom, Année, NoDep, Intitulé, Taille, NoResp)

Normalisation des relations
RU(NoEmp, NoProj, NoChef, Temps, Nom, Année, NoDep, Intitulé, Taille,
NoResp)
Point de départ : relation universelle R1 = RU
R1NoEmp NoProj NoChef Temps Nom Année NoDep Intitulé Taille NoResp
1045 A15 2067 20 % Dupond 1978 03 Comptabilité 6 04561045 B18 0789 30 % Dupond 1978 03 Comptabilité 6 04562067 A15 2067 30 % Dupont 1965 06 Informatique 10 07890456 A20 0456 50 % Martin 1981 03 Comptabilité 6 04560278 A15 2067 20 % Martin 1987 05 Achats 3 02780278 B18 0789 30 % Martin 1987 05 Achats 3 02780789 B18 0789 10 % Blanc 1981 06 Informatique 10 07890789 A20 0456 70 % Blanc 1981 06 Informatique 10 0789

Normalisation des relations
Inconvénients d’un mauvais choix de relations:
• redondances
lourdeur des modifications maintient de la cohérence difficile
1ère méthode de normalisation :
Amélioration de la «qualité» du schéma, par projections successives.

Normalisation des relations
Notion de dépendance fonctionnelle
liens sémantiques entre les données élémentaires.
Nous nous limiterons aux dépendances fonctionnelles (DF) : elles traduisent les liens sémantiques les plus fréquents et qu’elles sont suffisantes pour définir les trois premières formes normales.

Normalisation des relations :Dépendances fonctionnelles
Définition : il existe une dépendance fonctionnelle entre deux groupes d’attributs A et B d’une relation R si à toute valeur de A on ne peut associer, à tout instant, qu’une et une seule valeur de B.
On dit alors que B dépend (fonctionnellement) de A (noté A B). A est la source de la DF et B le but. On dit aussi que A détermine (fonctionnellement) B.
Exemple : soit la relation EMPLOYE, il existe une DF entre NoEmp et Nom indiquant qu’un employé repéré par son numéro n’a qu’un seul nom : NoEmp Nom.

Normalisation des relations :Dépendances fonctionnelles
Remarque : les attributs formant la clé d’une relation doivent déterminer par DF tous les autres attributs de cette relation.
Propriétés des DF :
· réflexivité : B A A B.
(A = B donne A A)
· transitivité : A B et B C A C.
· pseudo-transitivité : A B et B, D C A, D C.
· additivité : A B et A C A B, C.
· décomposition : A B, C A B et A C.

Normalisation des relations :Dépendances fonctionnelles
Définition : une DF est dite triviale si elle peut se déduire par les axiomes de réflexivité ou d’augmentation.
Définition : une DF A B est dite élémentaire s’il n’existe aucun C A tel que C B.
Définition : une DF A B est dite directe s’il n’existe aucun C tel que A C et C B (i.e. elle ne peut être obtenue par l’axiome de transitivité).

Normalisation des relations :Dépendances fonctionnelles
NoResp
NoDep
Intitulé Taille
NoEmpNom Année
NoProj
NoChef
Temps
DF déductible
Exemple : NoEmp, Nom Année n’est pas élémentaire car NoEmp Année (qui elle par contre est élémentaire).
Exemple : La DF NoEmp NoResp n’est pas directe car elle peut être obtenue par transitivité comme suit :
NoEmp NoDep NoResp.

Normalisation des relations :1ère forme normale
Définition : une relation est en première forme normale (1FN) si elle possède une clé et que tous ses attributs sont atomiques.
Un attribut atomique est un attribut n’ayant à un instant donné qu’une seule valeur ou ne regroupant pas un ensemble de valeurs. Une conséquence de la 1FN est que tout attribut ne doit pas être lui-même une relation.
Exemple1 : dans la relation PERSONNE1(NoPers, Patronyme), patronyme regroupe 2 propriétés distinctes nom et prénom.
Exemple2: dans la relation PERSONNE2(NoPers, Nom, Prénoms), prénom correspond en fait à une liste.

Normalisation des relations :1ère forme normale
Exemple1 : relation PERSONNE1(NoPers, Patronyme),PERSONNE1
NoPers Patronyme
1248 Dubois ; Jean2078 Pignol ; Marc4195 Laplace ; Paul6746 Martin ; Henri9850 Blanc ; Jacques
PERSONNE1bis
NoPers Nom Prénom
1248 Dubois Jean2078 Pignol Marc4195 Laplace Paul6746 Martin Henri9850 Blanc Jacques
PERSONNE1bis est en 1FN:

Normalisation des relations :1ère forme normale
Exemple3 : relation ACHATS(NoCli, CA) permettant d’enregistrer le montant du CA des dernières années réalisé avec les clients :
ACHATSNoCli CA
7856 8900 ; 7650 ; 96001249 4500 ; 25508543 3140 ; 6200 ; 4600
ACHATSbisNoCli Année CA
7856 1993 89007856 1994 76507856 1995 96001249 1994 45001249 1995 25508543 1993 31408543 1994 62008543 1995 4600
PERSONNE1bis est en 1FN:

Normalisation des relations :1ère forme normale
« seulement » en 1FN risque d’anomalies lors de
mises à jour.
Par exemple, avec la relation R1 :
· rien sur un employé avant au moins une affectation à un projet (clé de R1 constituée de NoEmp et NoProj);
· pb inverse si on supprime un projet terminé : perte d’informations propres à l’employé;
· modification d’une donnée sur un employé tous les tuples le
concernant doivent être modifiés

Normalisation des relations :1ère forme normale
D’où viennent ces problèmes ?la connaissance d’une valeur de NoEmp et de NoProj identifie de manière unique un tuple de la relation.
clé = NoEmp + NoProj
• l’attribut Temps dépend fonctionnellement du couple formé par les deux attributs NoEmp et NoProj, c’est-à-dire de l’ensemble de la clé,
• les attributs Nom, Année, NoDep ne dépendent fonctionnellement que d’un seul attribut de la clé (NoEmp). De même NoChef ne dépend que de NoProj.

Normalisation des relations :2ème forme normale
Définition : une relation est en deuxième forme normale (2FN) si elle est en 1FN et que toute DF entre la clé et les attributs non-clés est élémentaire.
Remarque : ceci revient à dire que tout attribut non-clé doit dépendre fonctionnellement de l’ensemble de la clé. Il faut donc éviter la configuration suivante :
R(A, B, C, D, E)
(pas en 2FN)

Normalisation des relations :2ème forme normale
• NoEmp, NoProj Temps
• NoEmp Nom, Année, NoDep
• NoProj NoChef
on «éclate» R1 en trois relations élémentaires :
• R2(NoEmp, Nom, Année, NoDep, Intitulé, Taille, NoResp)
• R3(NoEmp, NoProj, Temps)
• R4(NoProj, NoChef)
R1 n’est pas en 2FN car :

Normalisation des relations :2ème forme normale
extensions des 3 relations en 2FN :
R2NoEmp Nom Année NoDep Intitulé Taille NoResp
1045 Dupond 1978 03 Comptabilité 6 04562067 Dupont 1965 06 Informatique 10 07890456 Martin 1981 03 Comptabilité 6 04560278 Martin 1987 05 Achats 3 02780789 Blanc 1981 06 Informatique 10 0789
R3NoEmp NoProj Temps
1045 A15 20 %1045 B18 30 %2067 A15 30 %0456 A20 50 %0278 A15 20 %0278 B18 30 %0789 B18 10 %0789 A20 70 %
R4NoProj NoChef
A15 2067B18 0789A20 0456

Normalisation des relations :2ème forme normale
Exemple : dans la relation R2 :
R2(NoEmp, Nom, Année, NoDep, Intitulé, Taille, NoResp).
Si le numéro du responsable d’un département change, il faut faire la modification dans tous les tuples concernés.
D’où viennent ces problèmes ?
Encore des problèmes en cas de mise à jour (cohérence, modification multiple de la même chose)
Seulement 2FN

Normalisation des relations :3ème forme normale
A quoi est dû ce problème ?
A une DF transitive (NoEmp NoDep NoResp).
Définition : une relation est en troisième forme normale (3FN) si elle est en 2FN et que toute DF entre la clé et les attributs non-clés est directe.
Remarque : ceci revient à dire qu’il n’existe aucune DF entre deux attributs non-clés.
Il faut donc éviter : R(A, B, C, D, E)
(pas en 3FN)

Normalisation des relations :3ème forme normale
En particulier pour R2 on a :
NoDep Intitulé, Taille, NoResp
Solution : décomposer R2 en R5 et R6 de manière à mettre
en évidence la DF NoDep NoResp :
R5(NoEmp, Nom, Année, NoDep)
R6(NoDep, Intitulé, Taille, NoResp)

Normalisation des relations :3ème forme normale
Cela donne les tableaux suivants :
R5NoEmp Nom Année NoDep
1045 Dupond 1978 032067 Dupont 1965 060456 Martin 1981 030278 Martin 1987 050789 Blanc 1981 06
R6NoDep Intitulé Taille NoResp
03 Comptabilité 6 045606 Informatique 10 078905 Achats 3 0278
On obtient finalement les quatre relations en 3FN suivantes :
· R3(NoEmp, NoProj, Temps) i.e. TRAVAILLE
· R4(NoProj, NoChef) i.e. PROJET
· R5(NoEmp, Nom, Année, NoDep) i.e. EMPLOYE
· R6(NoDep, Intitulé, Taille, NoResp) i.e. DEPART

24
FNBC Forme normale de Boyce-Codd
2FN: élimine les anomalies crées par des dépendances entre parties de clé et attributs non clé
3FN: élimine les anomalies crées par des dépendances entre les attributs non clés Quid des dépendances de parties de clés entre elles ou d’attributs non clés vers
une partie de clé???? BCNF
(BCNF)

25
FNBC Forme normale de Boyce-Codd
Une relation est en BCNF ssi les seules DFs élémentaires sont celles dans lesquelles une clé entière détermine un attribut
R (K1, K2, X, Y)
(BCNF)
R doit être décomposée en R1(K1,K2,X) et R2(Y,K1)

26
FNBC: exemple
Localisation (cru, pays, region, qualité)Avec les dépendances:Cru, pays regionCru, pays qualitéRegion pays
Localisation n’est pas en BCNF mais en 3FNDécomposition possible:
CRUS(cru, pays, qualité)REGION (region, pays)
Non en BCNF

27
Décomposition Enseignement
Enseignement (NomEtud, Matière, Prof)
Soit la décomposition:T1 (Prof, Matière) T2 (NomEtud, Prof)
T1 + T2 : sans perte d ’information mais avec perte de la DF:
(NomEtud, Matière) Prof
il faut ajouter la C.I.: un étudiant suit une matière donnée
avec un seul professeur

28
3FN: définition plus générale
Plusieurs identifiants et DF élémentaire A->B• Cond1: A est un identifiant• Cond2: B fait part d'un identifiant
FNBC si Cond1 3NF (plusieurs identifiants) si Cond1 OR Cond2
N°fourn nom-fourn
N°produitprix
Fournisseur (N°fourn, nom-fourn, N°produit, prix)

Dépendance multivaluée
BCNF n’est pas suffisante pour éliminer complètement les redondances Dépendance multivaluée:
Etudiant (ne, cours, sport)
Pas de DF DM x y
On dit qu’il y a DM de y sur x si étant donné des valeurs de x, il y a un ensemble de valeurs de y associées à cet ensemble est indépendant des autres attributs

Dépendance multivaluée (exemple)
Vol(NV, Avion, Pilote)
NV Avion
NV Pilote

31
4 FN
La 4FN est une généralisation d la BCNF destinée à décomposer les relations ayant des DM élémentaires
Une relation est en 4FN ssi les seules dépendances multivaluées élémentaires sont celles dans
lesquelles une super clé détermine un attribut Soit Etudiant(NE, Cours, Sport) n’est pas en 4FN car
NE Cours et NE Sport (la clé est l’ensemble des attributs et il existe des DM
élémentaires entre des attributs participants à la clé )

32
4 FN
permet de séparer des faits indépendants qui auraient été réunis dans une même relation
exemple:• il existe plusieurs cours
• tout cours peut être assuré par plusieurs professeurs• tout cours possède un ensemble de livres de référence
alorscours (intitulé, nom-prof., titre-livre)
donne une représentation très redondante, qu’il convient de remplacer par décomposition

33
RDB
4FN: exemple
Cours
intitulé nom-prof titre-livre
cours (intitulé, nom-prof., titre-livre)
RDB {Aberer, Spaccapietra} {Ullman, Date}
RDB
RDB
Ullman
Date
Ullman
RDB
Aberer
Aberer
Spaccapietra
Spaccapietra Date

34
4 FN: exemple
cours (intitulé, nom-prof., titre-livre) décomposition:
– cours-p (#intitulé, #nom-prof.)– cours-1 (#intitulé, #titre-livre)
Formalisation: dans cours (intitulé, nom-prof., titre-livre) il existe une dépendance multivaluée
Intitulé nom-prof, titre-livre ouIntitutlé nom-profIntitulé titre-livre
Une relation est en 4FN s’il n’existe pas de dépendance multivaluée qui ne soit pas une dépendance fonctionnelle

35
4FN: définition formelle
Soit une relation R (x,y,z) z pouvant être vide
Il y a Dépendance multivaluée (DM) x ---->> y
si à toute valeur de x correspond un ensemble de valeurs de y qui est totalement indépendant de z– Remarque: DF est un cas particulier de DM
R est en 4 FN si elle est en 1ère FN et si toute DF ou DM de R a pour source un identifiant entier de R– Remarque: 4 FN implique BCNF (FNBC)

36
Dépendance de jointure
La notion de DM a conduit à décomposer les relations en 4FN
Est-ce suffisant pour éliminer les problèmes de redondances et anomalies?

37
Cinquième Forme Normale (5FN)
Permet de décomposer une relation en faits élémentaires
exemple: Vins (buveur, cru, producteur) Peut être décomposable en
• V1 (buveur, cru)• V2 (buveur, producteur)• V3 (cru, producteur)
Avec Vins = V1 |X| V2 |X| V3 On dit qu’il y a dépendance de jointure

38
5 NF
• Il existe des relations qui ne peuvent être décomposées qu'en trois composantes au moins
S# P# J#
S1 P1 J2S1 P2 J1S2 P1 J1S1 P1 J1
SPJS# P#
S1 P1S1 P2S2 P1
P# J#
P1 J2P2 J1P1 J1
J# S#
J2 S1J1 S1J1 S2
SP PJ SJ
SPJ est sujet aux anomalies d'insertion etde suppression, ex. delete (S1, P1, J1)
Contrainte cyclique :
(S1, P1, J2) et (S2, P1, J1) et (S1, P2, J1) (S1, P1, J1)

39
5 NF
R est en 5 NF ssi toute DJ est impliquée par les clés candidates de R, c. à d.:• soit il n'y a pas de DJ• soit, toute projection contient une clé
• Toute R en 5 NF est en 4 NF (les DMs sont un cas spécial de DJs)
R (A,B,C) satisfait JD* (AB, AC) ssi on a A -->> B | C

40
5 NF
SPJ n'est pas en 5 NF car S#, P#, J# ne sont pas clés candidates
S' ( S#, SNAME, STATUS, CITY ) est en 5 NF :
* (( S#, SNAME, STATUS), (S#, CITY ))
* (( S#, SNAME), (S#, STATUS), (SNAME, CITY))
etc.
Y a-t-il des DJs dans les tables S, P et SP ?
Sont-elles en 5 NF ?