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

1 Bases de Données Avancées: Base de données relationnelles 29 mai 2014 Dr. Rim Samia Kaabi.

Présentations similaires


Présentation au sujet: "1 Bases de Données Avancées: Base de données relationnelles 29 mai 2014 Dr. Rim Samia Kaabi."— Transcription de la présentation:

1 1 Bases de Données Avancées: Base de données relationnelles 29 mai 2014 Dr. Rim Samia Kaabi

2 2 Normalisation dune BD Relationnelle

3 Normalisation des relations cas des «projets» Collection des attributs NoEmp :numéro dun employé Nom :nom dun employé Année :année dembauche dun employé NoDep :n° de département Intitulé :nom dun département Taille :nombre demployés dun département NoResp :n° de lemployé responsable dun département NoProj :n° dun projet NoChef :n° d lemployé chef dun projet Temps :% de temps quun 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 RU(NoEmp, NoProj, NoChef, Temps, Nom, Année, NoDep, Intitulé, Taille, NoResp) Point de départ : relation universelle R1 = RU

6 Normalisation des relations Inconvénients dun 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 quelles 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 dattributs A et B dune relation R si à toute valeur de A on ne peut associer, à tout instant, quune 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 quun employé repéré par son numéro na quun seul nom : NoEmp Nom.

9 Normalisation des relations : Dépendances fonctionnelles Remarque : les attributs formant la clé dune 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 daugmentation. Définition : une DF A B est dite élémentaire sil nexiste aucun C A tel que C B. Définition : une DF A B est dite directe sil nexiste aucun C tel que A C et C B (i.e. elle ne peut être obtenue par laxiome de transitivité).

11 Normalisation des relations : Dépendances fonctionnelles Exemple : NoEmp, Nom Année nest pas élémentaire car NoEmp Année (qui elle par contre est élémentaire). Exemple : La DF NoEmp NoResp nest 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 nayant à un instant donné quune 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 denregistrer 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 danomalies 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 dinformations propres à lemployé; ·modification dune donnée sur un employé tous les tuples le concernant doivent être modifiés

16 Normalisation des relations : 1ère forme normale Doù viennent ces problèmes ? la connaissance dune valeur de NoEmp et de NoProj identifie de manière unique un tuple de la relation. clé = NoEmp + NoProj lattribut Temps dépend fonctionnellement du couple formé par les deux attributs NoEmp et NoProj, cest-à- dire de lensemble de la clé, les attributs Nom, Année, NoDep ne dépendent fonctionnellement que dun 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 lensemble de la clé. Il faut donc éviter la configuration suivante :

18 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 nest pas en 2FN car :

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

20 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 dun département change, il faut faire la modification dans tous les tuples concernés. Doù viennent ces problèmes ? Encore des problèmes en cas de mise à jour (cohérence, modification multiple de la même chose) Seulement 2FN

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 quil nexiste 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 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 dattributs non clés vers une partie de clé???? BCNF (BCNF)

25 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 26 FNBC: exemple Localisation (cru, pays, region, qualité) Avec les dépendances: Cru, pays region Cru, pays qualité Region pays Localisation nest pas en BCNF mais en 3FN Décomposition possible: CRUS(cru, pays, qualité) REGION (region, pays) Non en BCNF

27 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 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°fournnom-fourn N°produit prix n Fournisseur (N°fourn, nom-fourn, N°produit, prix)

29 Dépendance multivaluée BCNF nest pas suffisante pour éliminer complètement les redondances Dépendance multivaluée: Etudiant (ne, cours, sport) Pas de DF DM x y On dit quil 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 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) nest pas en 4FN car NE Cours et NE Sport (la clé est lensemble des attributs et il existe des DM élémentaires entre des attributs participants à la clé )

32 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, quil convient de remplacer par décomposition

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

34 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 n Une relation est en 4FN sil nexiste pas de dépendance multivaluée qui ne soit pas une dépendance fonctionnelle

35 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 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 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 quil y a dépendance de jointure

38 38 5 NF Il existe des relations qui ne peuvent être décomposées qu'en trois composantes au moins S#P#J# S1P1J2 S1P2J1 S2P1J1 S1P1J1 SPJ S# P# S1P1 S1P2 S2P1 P# J# P1J2 P2J1 P1J1 J# S# J2S1 J1S1 J1S2 SPPJ SJ SPJ est sujet aux anomalies d'insertion et de suppression, ex. delete (S1, P1, J1) Contrainte cyclique : (S1, P1, J2) et (S2, P1, J1) et (S1, P2, J1) (S1, P1, J1)

39 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 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 "1 Bases de Données Avancées: Base de données relationnelles 29 mai 2014 Dr. Rim Samia Kaabi."

Présentations similaires


Annonces Google