La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Bases de Données Avancées: Base de données relationnelles

Présentations similaires


Présentation au sujet: "Bases de Données Avancées: Base de données relationnelles"— Transcription de la présentation:

1 Bases de Données Avancées: Base de données relationnelles
Dr. Rim Samia Kaabi Bases de Données Avancées: Base de données relationnelles 31 mars 2017

2 Normalisation d’une BD Relationnelle
Plan Normalisation d’une BD Relationnelle

3 Normalisation des relations Collection des attributs
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

4 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)

5 Normalisation des relations
Point de départ : relation universelle R1 = RU RU(NoEmp, NoProj, NoChef, Temps, Nom, Année, NoDep, Intitulé, Taille, NoResp)

6 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.

7 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.

8 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.

9 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.

10 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é).

11 Normalisation des relations : Dépendances fonctionnelles
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.

12 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.

13 Normalisation des relations : 1ère forme normale
Exemple1 : relation PERSONNE1(NoPers, Patronyme), : PERSONNE1bis est en 1FN

14 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 : : PERSONNE1bis est en 1FN

15 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

16 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.

17 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 :

18 Normalisation des relations : 2ème forme normale
R1 n’est pas en 2FN car : 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)

19 Normalisation des relations : 2ème forme normale
extensions des 3 relations en 2FN :

20 Normalisation des relations : 2ème forme normale
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 Û 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.

21 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 :

22 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)

23 Normalisation des relations : 3ème forme normale
Cela donne les tableaux suivants : 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
(BCNF) 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

25 FNBC Forme normale de Boyce-Codd
(BCNF) 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)  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  region Cru, pays  qualité Region  pays Localisation n’est pas en BCNF mais en 3FN Dé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 Fournisseur (N°fourn, nom-fourn, N°produit, prix) N°fourn nom-fourn prix N°produit

29 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

30 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 alors cours (intitulé, nom-prof., titre-livre) donne une représentation très redondante, qu’il convient de remplacer par décomposition

33 {Aberer, Spaccapietra}
4FN: exemple Cours intitulé nom-prof titre-livre RDB {Aberer, Spaccapietra} {Ullman, Date} cours (intitulé, nom-prof., titre-livre) RDB Aberer Spaccapietra Ullman RDB Date RDB Ullman RDB 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 ou Intitutlé nom-prof Intitulé 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 SP PJ SJ SPJ S# P# J# S1 P1 J2 S1 P2 J1 S2 P1 J1 S1 P1 J1 S# P# S1 P1 S1 P2 S2 P1 P# J# P1 J2 P2 J1 P1 J1 J# S# J2 S1 J1 S1 J1 S2 Contrainte cyclique : (S1, P1, J2) et (S2, P1, J1) et (S1, P2, J1) (S1, P1, J1) SPJ est sujet aux anomalies d'insertion et de suppression, ex. delete (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 ?


Télécharger ppt "Bases de Données Avancées: Base de données relationnelles"

Présentations similaires


Annonces Google