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

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

CHAPITRE 7 DROITES ET SYSTEMES.
III. Conception de schéma de base de données
Material/Sources: Daniel Bardou, Julie Dugdale &
Material/Sources: Daniel Bardou, Julie Dugdale &
Un modèle conceptuel Le modèle Entité-Association Frédéric Gava (MCF)
Algorithmes et structures de données avancés
Modèle Entités-Associations
CHAPITRE 6 Fonctions numériques.
Calcul propositionnel
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
La base de données : le modèle relationnel.
Programme Introduction aux BD et aux SGBD Le modèle relationnel
Le modèle entité / associations MCD (Modèle Conceptuel des Données)
Bases de Données Plan du cours : Année : 2009/10 A - Généralités :
Initiation au système d’information et aux bases de données
Initiation au système d’information et aux bases de données
Initiation à la conception des systèmes d'informations
Structures de données linéaires
Algorithmes Branch & Bound
Introduction à la conception de Bases de Données Relationnelles
Chap 4 Les bases de données et le modèle relationnel
Les formes normales.
Formes Normales Chapitre 19
Modélisation de données (modèle relationnel)
Espaces vectoriels Montage préparé par : S André Ross
Bases de Données Avancées: Base de données relationnelles
MODELE RELATIONNEL concept mathématique de relation
Rappels de logique des prédicats du 1er ordre
IFT Complexité et NP-complétude
1 Formes Normales Chapitre Objectifs Illustrer les redondances dans le stockage de linformation Introduire les dépendances fonctionnelles comme.
Algorithmes d ’approximation
Recherche Opérationnelle
Normalisation. RELATION NORMALE Une relation est dite normale si aucun des domaines qui la composent n'est lui-même une relation. En d'autres termes,
Initiation à la conception des systèmes d'informations
Exploration systématique de graphes
Chapitre 3 La normalisation du modèle relationnel
Produit scalaire dans le plan
Programmation linéaire en nombres entiers
Algorithmes Branch & Bound
Conception d’un diagramme EA Frédéric Gava (MCF) LACL, bâtiment P2 du CMC, bureau 223 Université de Paris XII Val-de-Marne 61 avenue.
CHAPITRE 1: LES FONCTIONS.
Structures de données avancées : Fichiers multidimensionnels Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure d’Informatique (ESI) zegour.esi.dz
Bases de données : modèlisation et SGBD
Sélection de colonnes (la projection)
Enveloppe convexe et triangulation de Delaunay
Programmation fonctionnelle Preuve
Abdelkader Heni FUNDP Syntaxe et sémantique Abdelkader Heni FUNDP
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
ASI 3 Méthodes numériques pour l’ingénieur
Ajouts et retraits dans un arbre de connexion Nicolas Thibault et Christian Laforest, Équipe OPAL Laboratoire IBISC (regroupement LaMI et LSC), Évry 8.
Systèmes de gestion de BD
Notion de Dépendance Fonctionnelle (DF)
Normalisation des BD. Normalisation d’un schéma relationnel  Une mauvaise répartition des données dans les relations peut engendrer :  Des problèmes.
Structures de données avancées : MLH (Multidimensional linear hashing) D. E ZEGOUR Institut National d ’Informatique.
Nouvelles Technologies Internet & Mobile
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
INTRODUCTION AUX BASES DE DONNEES Modèle entités-relations
Initiation aux bases de données et à la programmation événementielle
LES FORMES NORMALES Les trois premières formes normales ont pour objectif de permettre la décomposition de relations sans perdre d’informations. Elles.
INTRODUCTION AUX BASES DE DONNEES Dépendances et normalisation
INTRODUCTION AUX BASES DE DONNEES Dépendances et normalisation Exercices Université Panthéon-Assas Paris 2 L2 Economie-Gestion.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
A. Lebrun. Théorème de Shannon Soit F une fonction logique de n variables xn F(x1,..,xi, xn)=xi.f(x1,…,1, xn)+xi.g (x1,…,0,,xn) F(x1,..,xi, xn)=(xi+g(x1,…,0,
LES POSTULATS DE LA MÉCANIQUE QUANTIQUE
Programmation par contraintes Réalisé par: WETCHA Chaima MOKDED Mohamed Ali FIA3-GL-AL 1 1.
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Algorithmes Branch & Bound Module IAD/RP/RO Master d ’informatique Paris 6 Philippe Chrétienne.
Cycle, Cocycle, Arbre et Arborescence
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
Transcription de la présentation:

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

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

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

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

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)

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}

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}

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

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

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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.

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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.

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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é.

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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)

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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.

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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.

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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.

Cours de Systèmes de Gestion de Données - Licence MIAGE – 2003/ 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.