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

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20041 Cours n°2 La conception d ’un schéma relationnel (suite) Chantal Reynaud Université.

Présentations similaires


Présentation au sujet: "Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20041 Cours n°2 La conception d ’un schéma relationnel (suite) Chantal Reynaud Université."— Transcription de la présentation:

1 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20041 Cours n°2 La conception d ’un schéma relationnel (suite) Chantal Reynaud Université Paris X - Nanterre UFR SEGMI Licence MIAGE

2 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20042 Plan II. Normalisation additionnelle II.1. Décomposition SPI et SPD II.2.Les formes normales II.3.Algorithmes de décomposition en 3FN

3 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20043 II.1. Normalisation additionnelle II.1.1. La décomposition d ’un schéma de relation II.1.2. La décomposition SPI II.1.3. La conservation des dépendances

4 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20044 La normalisation additionnelle Les relations ne contenant que des attributs atomiques sont dites normalisées (1 FN), mais souvent, le terme normalisé est utilisé pour désigner l ’une des normalisations de niveau supérieur (3 FN) Le principe de normalisation est construit autour du concept de forme normale (FN). Un schéma de relation est dans une forme normale particulière si il satisfait un ensemble de conditions prédéfinies. 1 FN2 FN 3 FN FNBC 4 FN 5 FN

5 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20045 La décomposition d ’un schéma de relation On appelle décomposition d’un schéma de relation R = (A1, A2,..., An) où A1, A2,..., An sont des attributs, le remplacement de R par un ensemble de schémas de relation R1, R2,..., Rp (p  1), obtenus à partir de R par projection et de telle sorte que la réunion des attributs de Ri (1  i  p) soit égale à R. Exemple : Soient R1 = (COURS, ETUDIANT, NOTE), R2 = (COURS, PROF), R1 et R2 forment une décomposition de : R = (COURS, ETUDIANT, NOTE, PROF)

6 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20046 Décomposition sans perte d ’information (SPI) On dit qu’une décomposition de R en R1, R2, … Rp, est sans perte d’information, ce que l’on note SPI, si toutes les relations r sur R considérées sont égales à la jointure des relations ri (1  i  p) obtenues par projection de r sur les schémas Ri. Condition nécessaire et suffisante : Théorème de Heath Soit R=(X,Y,Z) où X, Y et Z sont des ensembles d ’attributs. Si on suppose que X  Y appartient à F, alors la décomposition de R en S = (X,Y) et T = (X,Z) est SPI. Réciproquement, si la décomposition de R en S et T est SPI, alors X  Y ou X  Z appartient à F+. Exemple : R1 et R2 est une décomposition SPI de R muni de F = {( COURS, ETUDIANT)  NOTE, COURS  PROF}

7 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20047 La conservation des dépendances Soit R décomposée en R1, R2,.., Rp. On appelle restriction de F à Ri, notée Fi, l’ensemble des dfs de F+ formées d’attributs de Ri uniquement. On dit que la décomposition de R en R1, R2,.., Rp préserve les dfs, ou encore est sans perte de dépendances, ce que l’on note SPD, si la fermeture de la réunion des Fi (1  i  p) est égale à F+. Exemple : Restriction de F à R1 : F1 = {( COURS, ETUDIANT)  NOTE} Restriction de F à R2 : F2 = { COURS  PROF}

8 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20048 II.2. Les formes normales II.2.1. Première forme normale II.2.2. Deuxième forme normale II.2.3. Troisième forme normale II.2.4. Forme normale de Boyce-Codd II.2.5. Les dépendances multivaluées et le 4ème forme normale

9 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20049 Première forme normale Un schéma de relation est dit en 1ère forme normale (1FN) si tous les attributs sont atomiques ou indécomposables. ETUDIANT NumEtu NomEtu ListeCours ETUDIANT NumEtu NomEtu COURS NumCours Est inscrit à (0,n) Schéma entité- association en 1 FN 1 FN

10 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200410 Deuxième forme normale Un schéma de relation R est en 2ème forme normale (2FN) si tout attribut A de R, qui n’appartient à aucune clé minimale de R, dépend pleinement de toutes les clés minimales. Un df X  Y est pleine ou Y dépend pleinement de X s ’il n ’existe pas de sous-ensemble strict X ’ de X tel que X ’  X soit une df de F+. Exemple : R4 = (MAGASIN, ARTICLE, RAYON, DIRECTEUR) F = {(M, A)  R, (R, M)  D} La seule clé minimale de R est (M, A) Il n ’existe pas de dfs avec un seul membre gauche. Toutes les dfs sont pleines. R4 est en 2 FN.

11 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200411 Deuxième forme normale ENSEIGNEMENT NumProf NumCours Horaire Salle DateExamen ENSEIGNEMENT NumEns NumProf DateExamen COURS NumCours Horaire Salle concerne (1,1)(0,n) Schéma entité- association en 2 FN NumCours  Horaire, Salle 2 FN

12 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200412 Troisième forme normale Un schéma de relation est dit en 3FN si tout attribut qui n’appartient à aucune des clés minimales du schéma, ne dépend que des clés du schéma et des ensembles d’attributs qui le contiennent. Pour savoir si un schéma est en 3FN, on doit : -a- Remplacer F par une couverture minimale -b- Chercher toutes ses clés minimales du schéma -c- En déduire les attributs A qui n’appartiennent à aucune clé minimale -d- Regarder toutes les dfs X  A de F, avec A déterminé au –c-, et tester pour chacune d’elle si X est une clé minimale. Exemple : R2 = (COURS, ETUDIANT, NOTE), F = {(COURS, ETUDIANT)  NOTE } Clé minimale = (COURS, ETUDIANT) NOTE n ’appartient pas à la clé minimale mais est déterminé par la clé minimale. R2 est en 3 FN.

13 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200413 Troisième forme normale ETUDIANT NumEtu NomEtu Filière Année Salle ETUDIANT NumEtu NomEtu ANNEE DE FORMATION Filière Année Salle suit (0,1)(0,n) Schéma entité- association en 3 FN Filière, Année  Salle 3 FN

14 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200414 Forme normale de Boyce-Codd Un schéma de relation est dit en forme normale de Boyce-Codd, notée FNBC, si tout attribut du schéma ne dépend que des clés du schéma et des ensembles d’attributs qui les contiennent. Par définition, un schéma en FNBC est en 3FN, mais l’inverse n’est pas vrai. Pour savoir si un schéma est en FNBC, on peut : -a- remplacer F par une couverture minimale -b- regarder toutes les dfs X  A de F et tester pour chacune d’elles si X est une clé. Exemples : R1 = (COURS, PROF) est en FNBC R2 = (COURS, ETUDIANT, NOTE) est en FNBC ADR = (RUE, VILLE, CODEPOSTAL) n ’est pas en FNBC car CODEPOSTAL  VILLE et CODEPOSTAL n ’est pas une clé.

15 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200415 Les dépendances multivaluées et la 4ème forme normale Soit ETUDIANT = (Ne, Cours, Sport) Il existe des redondances mais aucune df. Ce schéma est indécomposable ! La notion de df est insuffisante et conduit à introduire la notion de dépendance multivaluée

16 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200416 Notion de dépendance multivaluée (DM) Soit R (A1, A2, …, An) un schéma de relation, X et Y des sous-ensembles de A1, A2, …, An. On dit que X ==>> Y (X multidétermine Y ou il existe une dépendance multivaluée (DM) de Y sur X) si, étant donné des valeurs de X, il y a un ensemble de valeurs de Y associées et cet ensemble est indépendant des autres attributs Z = R - X - Y de R Une telle dépendance caractérise une indépendance entre 2 ensembles d ’attributs (Y et Z) corrélés par un même 3ème X. 4ème forme normale Un schéma de relation est en 4ème FN ssi les seules DM élémentaires sont celles dans lesquelles une super-clé détermine un attribut. Une super-clé est un ensemble d ’attributs contenant une clé. Ainsi R n ’est pas en 4 FN si l ’on peut trouver une DM X ==>> Y où X n ’inclut pas une clé de R. (ex : ETUDIANT n ’est pas en 4 FN ; Clé = (Ne, Cours, Sport) ; Ne ==>> Cours, Ne ==>> Sport)

17 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200417 II.3. Algorithmes de décomposition en 3 FN II.3.1. Comment trouver la fermeture d ’un ensemble d ’attributs ? II.3.2. Algorithme pour trouver une couverture minimale d ’un ensemble de dfs II.3.3. Algorithme de Bernstein

18 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200418 Fermeture d ’un ensemble d ’attributs X+ := X Répéter AUX := X+ Pour chaque df Y  Z de F faire : Si Y  X+ alors X+ := X+   Z Jusqu’à AUX = X+ ou X+ = R.

19 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200419 Algorithme pour trouver une couverture minimale d ’un ensemble de dfs Notations : X, Y désignent des ensembles d’attributs A, B, C désignent des attributs Données : R est un schéma de relation, R = (A1, A2,...,An) F est un ensemble de dfs définies sur R Résultat : G est une couverture minimale de F vérifiant : (1) G+ = F+ (2) Tout membre droit d’une df de G est réduit à un seul attribut (3) Pour aucune df X  A de G on n’a G - {X  A}  = X  A. (4) Pour aucune df X  A de G on n’a G  = Y  A avec Y partie stricte de A.

20 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200420 Algorithme pour trouver une couverture minimale d’un ensemble de dfs Etape 0 : On ordonne les dfs de F: F = { X1  Y1, X2  Y2,..., Xm  Ym} Etape 1 : On décompose les membres droits Yi des dfs de F Pour i de 1 à m faire : Si Yi = A1 A2... As avec s > 1 Alors F := F - { Xi  Yi}  {Xi  A1, Xi  A2,..., Xi  As} On suppose alors que l’on a : F = {X1  Y1,..., Xp  Yp} Etape 2 : On regarde si on peut enlever des dfs de F sans modifier sa fermeture. Pour i = 1 à p faire : Si F - {Xi  Yi }  = {Xi  Ai} alors F := F - {Xi  Ai} On suppose qu’à la fin de cette étape, on a :F = {X1  Y1,..., Xq  Yq} avec q  p Etape 3 : On cherche si on peut remplacer les membres gauches des dfs de F qui sont formés de plus d’un attribut par des membres gauches contenant moins d’attributs sans changer la fermeture de F. Pour i de 1 à q faire : Si Xi = B1 B2... Br avec r > 1 alors Pour j de 1 à r faire : Si F  = {Xi - Bj}  Ai alors Xi := Xi - Bj

21 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200421 Algorithme de Bernstein Données : R est un schéma de relation, R = (A1, A2,...,An) F est un ensemble de dépendances fonctionnelles définies sur R Résultat : Une décomposition de R muni de F en schémas de relation en 3FN sans perte d’information ni de dépendance fonctionnelle.

22 Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/200422 Algorithme de Bernstein Etape 1 : On remplace F une couverture minimale de F (cf. algo précédent). On cherche les clés minimales de R et on teste si R est en 3FN. Si oui, on s’arrête. Etape 2 : On regroupe les dfs X  Ai (i entre 1 et p), ayant même membre gauche X. Pour chaque membre gauche X, on définit un schéma de relation contenant tous les attributs intervenant dans ces dfs, soit Rx = (X, A1, A2,..., Ap). Le schéma Rx est muni de l’ensemble des dfs X  Ai (i entre 1 et p). Etape 3 : Si aucun des schémas Rx définis à l’étape 2 ne contient de clé de R, on ajoute un schéma Rk = (K), où K est une clé minimale de R, muni d’aucune df.


Télécharger ppt "Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/20041 Cours n°2 La conception d ’un schéma relationnel (suite) Chantal Reynaud Université."

Présentations similaires


Annonces Google