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

III. Conception de schéma de base de données. Bases de données - Yann Loyer2 Introduction à la conception Le schéma change rarement importance du choix.

Présentations similaires


Présentation au sujet: "III. Conception de schéma de base de données. Bases de données - Yann Loyer2 Introduction à la conception Le schéma change rarement importance du choix."— Transcription de la présentation:

1 III. Conception de schéma de base de données

2 Bases de données - Yann Loyer2 Introduction à la conception Le schéma change rarement importance du choix initial de regroupement des attributs respect de certains critères Processus appelé conception de schéma : description dune un « bon » schéma application

3 Bases de données - Yann Loyer3 Description dune application Attributs : caractéristiques pertinentes des informations (ex: nom, département,…) Univers : ensemble des attributs Les liens sémantiques entre attributs, appelés dépendances de données –décrivent des propriétés que doivent satisfaire les données –imposent des restrictions sur les bases possibles –Peuvent être considérées comme des contraintes dintégrité –donnent les bons regroupements dattributs en schémas de relation

4 Bases de données - Yann Loyer4 Description du processus (1) Définition de lunivers U Définition de lensemble des dépendances F Décompositions successives de U par rapport à F un ou plusieurs schémas de BD Décomposition de U : tout ensemble S = {R 1,…, R n } de schémas de relation tel que 1 i n R i = U S est un schéma de base de données

5 Bases de données - Yann Loyer5 Description du processus (2) Le processus est dirigé par certains critères que doivent respecter les décompositions finales : –Économie de stockage des données –Économie dans le traitement des mises à jours –Forme appropriée pour les dépendances dans chaque schéma de relation Nous considérerons un type particulier de dépendances appelées dépendances fonctionnelles –II.1) aspects essentiels de dépendances fonctionnelles (df) –II.2) processus de conception de schéma fondé sur les df

6 Bases de données - Yann Loyer6 II.1) Dépendances fonctionnelles Soit U un schéma de relation Une dépendance fonctionnelle (df) sur U est un symbole de la forme X Y tel que X U et Y U Une relation r sur U satisfait X Y, noté rX Y, si t,t r ( t(X) = t(X) t(Y) = t(Y) ) r X Y peut également se lire : –X donne Y dans r –X détermine Y dans r

7 Bases de données - Yann Loyer7 Dépendances fonctionnelles Dépendance fonctionnelle triviale : –X Y avec Y X –satisfaites par toute relation –information sans intérêt Soit F un ensemble de df sur U : –F = indique que F contient uniquement des df triviales – r satisfait F, noté r F, si f F (r f)

8 Bases de données - Yann Loyer8 Implication sémantique (1) Soient F et G deux ensembles de df sur U et f une df sur U F implique f, noté F f, si r (r F r f) F implique G, noté F G, si g G (F g) F et G sont équivalents, noté F G, si F G et G F La fermeture de F est lensemble de toutes les df que lon peut impliquer à partir de F, i.e. F + = {X Y | F X Y } F et G sont équivalents si F + = G +

9 Bases de données - Yann Loyer9 Convention Soient R et S deux sous-ensembles de U, soit A un attribut de U, RS représente R S RA représente R {A}

10 Bases de données - Yann Loyer10 Implication sémantique (2) Proposition: 1.F X 2.X Y XZ YZ 3.X Y, Y Z X Z 4.X Y, X Z X YZ 5.X YZ X Y 6.X Y, YZ W XZ W

11 Bases de données - Yann Loyer11 Axiomatisation Répondre à la question « F implique-t-il f ? » est difficile Caractérisation syntaxique de limplication sémantique à laide dun axiome et de deux règles (axiome, augmentation, transitivité) Le système dinférence qui en résulte est appelé système dArmstrong

12 Bases de données - Yann Loyer12 Système dArmstrong F engendre f, noté F f sil existe une suite de df f 1,…, f n telle que f = f n et i {1,…,n} soit f i F soit f i est engendrée par f 1,…, f i-1 à partir de: –Axiome : F X –Augmentation : X Y XZ YZ –Transitivité : X Y, Y Z X Z

13 Bases de données - Yann Loyer13 Système dArmstrong (2) La suite f 1,…, f n est appelée dérivation ou démonstration de f à partir de F Exemple : F = {A C; B D} AB CD Théorème 1 : F X Y F X Y le système dArmstrong est sain et complet implication dérivation

14 Bases de données - Yann Loyer14 Fermeture dun ensemble dattributs Difficile de répondre à la question « F engendre-t-il f ? » recherche dun algorithme efficace fondé sur la notion de fermeture dun ensemble dattributs

15 Bases de données - Yann Loyer15 Fermeture dun ensemble dattributs Soit X un ensemble dattributs La fermeture de X par rapport à F, notée X F +, est définie par X F + = max {Y U | F X Y} nouvelle caractérisation de F X Y Théorème 2 : F X Y Y X F +

16 Bases de données - Yann Loyer16 Algorithmes (1) Le théorème 1 fournit un algorithme pour répondre à la question « F implique-t-il f ? » : 1.Calculer X F +, 2.Si Y X F + alors oui sinon non Besoin dun algorithme efficace de calcul de X F +

17 Bases de données - Yann Loyer17 Algorithmes (2) Calcul de X F + : Entrée: un schéma de relation U, un ensemble dattributs X U, un ensemble F de df sur U Sortie: X F + Méthode: ferm := X tant que (ferm change et ferm U) répéter pour tout Y Z F si Y ferm alors ferm := ferm Z return ferm

18 Bases de données - Yann Loyer18 Clé dun schéma de relation Soit K U et F un ensemble de df sur U Définition : K est une surclé de U par rapport à F si lune des propriétés suivantes est satisfaite : 1.F K U 2.F K U 3.K F + = U K est une clé de U par rapport à F si : K est une surclé de U par rapport à F, et K est minimale (i.e. X K(X=K X F + U)

19 III.2 Conception de schéma fondée sur les df

20 Bases de données - Yann Loyer20 III.2 Conception de schéma fondée sur les df Le processus de conception est guidé par des critères que doit satisfaire la décomposition finale qui doit être : Sans Perte dInformation (SPI) Sans Perte de Dépendances (SPD) en Forme Normale

21 Bases de données - Yann Loyer21 III.2.1 Décomposition Sans Perte dInformation (SPI) La décomposition dun schéma de relation consiste à scinder ce schéma en plusieurs sous-schémas Décomposition de U : tout ensemble S = {R 1,…, R n } de schémas de relation tel que 1 i n R i = U acceptable si on peut à tout moment reconstruire la relation de départ par jointure

22 Bases de données - Yann Loyer22 Décomposition SPI Définition : Soient U un schéma de relation et F un ensemble de df sur U. Une décomposition S = {R 1,…,R n } est sans perte dinformation(SPI) si u (u F R1 (u) | | … | | Rn (u) = u)

23 Bases de données - Yann Loyer23 Algorithme de poursuite (chase) Entrée: U = {A 1,…, A n }, S = {R 1,…, R m }, F Sortie: oui/non S est SPI par rapport à F Méthode: 1.Construction du tableau initial pour i=1 à m, faire pour j=1 à n, faire si A j R i then T[i](A j ) := a j else T[i](A j ) := x i,j 2.Construction du tableau final tant que le tableau change, faire pour toute df X Y F, si deux lignes ont les mêmes valeurs sur X, alors égaliser leurs valeurs sur Y 3. sil existe une ligne sans variables alors retourner oui sinon retourner non

24 Bases de données - Yann Loyer24 Algorithme de poursuite (chase) Remarques: lalgorithme termine le tableau final ne dépend pas de lordre dapplication des df on peut utiliser toute couverture de F dès que le tableau contient une ligne sans variables, on peut arrêter

25 Bases de données - Yann Loyer25 III.2.1 Décomposition Sans Perte de Dépendances (SPD) On choisit de stocker les données suivant une décomposition S du schéma il faut vérifier que la base reste cohérente, i.e. quelle satisfait les df à chaque m.a.j., il faut reconstruire la relation sur le schéma de départ U, sur lequel sont énoncées les df.

26 Bases de données - Yann Loyer26 Décomposition SPD Problème : les jointures sont coûteuses est-il possible de vérifier la cohérence de la base sans reconstruire la relation sur U, i.e. en se servant uniquement des relations stockées ? oui si S « incorpore » un ensemble de df G équivalent à F

27 Bases de données - Yann Loyer27 Décomposition SPD Définition : une décomposition S de U est dite sans perte de dépendances (SPD) par rapport à F sil existe un ensemble G de df tel que : 1.F G 2. X Y G ( R i S (XY R i ))

28 Bases de données - Yann Loyer28 Décomposition SPD Définition : X Y est applicable sur R si XY R Définition : F R est lensemble de toutes les df impliquées par F applicables sur R, i.e. F R = {X Y | F X Y et XY R} F R est lensemble de toutes les df impliquées par F dont la satisfaction peut être vérifiée « sur R »

29 Bases de données - Yann Loyer29 Algorithme SPD Proposition : une décomposition S = {R 1,…,R n } de U est SPD par rapport à F si F R1 … F Rn F algorithme pour vérifier quune décomposition S = {R 1,…,R n } de U est SPD par rapport à F : 1.pour i = 1 à n, calculer F Ri 2.si F R1 … F Rn F alors S est SPD

30 Bases de données - Yann Loyer30 III.2.3 Formes Normales Les formes normales permettent déviter le stockage de données redondantes Définition : U est en troisième forme normale (3FN) par rapport à F si tout attribut nappartenant à aucune clé de U ne dépend que des surclés de U Définition : U est en forme normale de Boyce-Codd (FNBC) par rapport à F si toute df non triviale de F a pour partie gauche une surclé de U

31 Bases de données - Yann Loyer31 Algorithme de Bernstein Entrée: U = {A 1,…, A n }, F Sortie: une décomposition S de U SPI, SPD et 3FN par rapport à F Méthode: 1.Calculer les clés de U par rapport à F 2.Si U est en 3FN par rapport à F alors stop 3.Sinon calculer une couverture minimale G de F regrouper les df de G ayant la même partie gauche {X Y 1,…, X Y n } et créer un schéma R X = ( X,Y 1,…, Y n ) si aucun des schémas obtenus à létape précédente ne contient une clé de U alors rajouter un schéma contenant une clé de U

32 Bases de données - Yann Loyer32 Calcul de couverture minimale La couverture minimale de F est un ensemble de df équivalent à F et se calcule en trois étapes : 1.Réduction à droite 2.Réduction à gauche 3.Suppression des redondances

33 Bases de données - Yann Loyer33 Calcul de couverture minimale 1.Réduction à droite : remplacer toute df X A 1 …A n de F par {X A 1,…, X A n } 2.Réduction à gauche : pour toute df X Y, sil existe Z X tel que F Z Y, alors remplacer X Y par Z Y 3.Suppression des redondances : pour toute df X Y, si F \ {X Y} X Y alors supprimer X Y

34 III.3 Conception de schéma de BD Modèle Entité/Association

35 Bases de données - Yann Loyer35 Éléments du modèle : entité Les entités permettent de décrire des objets ou individus du système dinformation Exemple : « Pierre », « la voiture »… Entité : classe générique dobjets ou individus ayant les mêmes caractéristiques pour un modélisateur placé dans un environnement donné Exemple : Personne, Voiture…

36 Bases de données - Yann Loyer36 Éléments du modèle : association Les associations représentent des liens entre objets et individus du système dinformation Elles structurent les objets dans lespace du discours Exemple : « Pierre » « possède » « la voiture », « Pierre » « est le fils de » « Marie » Association : classe générique de liens reconnus ou possibles entre objets et/ou individus appartenant à des entités du système Exemple : « Personne » « possède » « Voiture » Association entre 2 entités : association binaire Association entre n entités : association n-aire

37 Bases de données - Yann Loyer37 Éléments du modèle : attributs Attributs : propriété distinctive dune entité ou dune association Exemple : « Personne » nom, prénom,… Occurrence : valeur des attributs dune entité ou association Exemple : nom = « Dupont », prénom = « Pierre »,… est une occurrence de « Personne »

38 Bases de données - Yann Loyer38 Remarques Plusieurs occurrences dune entité ou dune association peuvent avoir une même valeur pour un attribut Certains attributs permettent lidentification des occurrences (exemple : n° détudiant) Une entité possède au moins un attribut Un attribut appartient à au plus une entité Les noms dattributs doivent être aussi peu ambigu que possible (exemple : lentité « étudiant » possède lattribut nom_étudiant et lentité « prof » possède lattribut nom_prof)

39 Bases de données - Yann Loyer39 Clé dentités Clé dentités : attribut ou ensemble dattributs permettant didentifier de manière unique les occurrences de lentité Une entité peut avoir plusieurs clés En général, on résout le problème de lattribution de clé à une entité en y ajoutant un attribut fictif tel quun code ou numéro

40 Bases de données - Yann Loyer40 Types dassociation Type dassociation: couple déterminé par le nombre doccurrences mises en jeu de part et dautre dune association binaire Association un à un (1:1) : si à une occurrence de lentité E1 est associée au plus occurrence de lentité E2 et réciproquement (exemple : « voiture » « correspond à » « carte grise ») Association un à plusieurs (1:n) : si à une occurrence de lentité E1 est associée au plus une occurrence de lentité E2, mais quà une occurrence de lentité E2 peuvent être associées plusieurs occurrences de lentité E1 (ex : « musée » « situé dans » « ville ») Association plusieurs à plusieurs (n:m) : si à une occurrence de lentité E1 peuvent être associées plusieurs occurrences de lentité E2 et réciproquement (ex : « personne » « possède » « voiture »)

41 Bases de données - Yann Loyer41 Cardinalité dun couple E/A Cardinalité dun couple E/A : couple (x,y) dentiers tels que : –x est le nombre minimal doccurrences de lassociation pouvant exister pour une occurrence donnée de lentité –y est le nombre maximal doccurrences de lassociation pouvant exister pour une occurrence donnée de lentité Exemple : « Client » « Passe » « Commande » (0,n) (1,1)

42 Bases de données - Yann Loyer42 Représentation graphique (0,n) 1:n (1,1) entité 1 association entité 2 attribut1 attribut2 attribut3 attribut4 attribut6 attribut5

43 Bases de données - Yann Loyer43 Processus de conception 1.Reconnaissance des entités 2.Reconnaissance des associations 3.Reconnaissance des attributs pertinents 4.Placement des attributs 5.Choix des types dassociations (binaires) 6.Choix des cardinalités des couples E/A 7.Traduction en relationnel

44 Bases de données - Yann Loyer44 Problème de représentation du temps Une représentation est dite synchronique lorsque le temps nintervient pas comme élément discriminateur (vision instantanée de la réalité modélisée) étudiant assure voiture montant date-contrat

45 Bases de données - Yann Loyer45 Problème de représentation du temps Une représentation est dite diachronique lorsque lon prend en compte des éléments temporels comme attributs ou entités discriminants (vision historique de la réalité modélisée) Deux méthodes : 1.Entités temporelles 2.Entités représentant des événements datés

46 Bases de données - Yann Loyer46 Entités temporelles Exemple : étudiant assure voiture date

47 Bases de données - Yann Loyer47 Événements datés Exemple : étudiant assure voiture police numéro-police date-police montant-police

48 Bases de données - Yann Loyer48 Traduction de E/A en MR Règles de traduction : 1.à chaque entité est associée un schéma de relation composé de tous les attributs de lentité 2.si dans une association A il existe une entité E pour laquelle la cardinalité du couple (E,A) est égale à (0,1) ou (1,1), on ajoute dans le schéma de relation R qui traduit E une clé de chacune des autres entités participant à lassociation et les attributs de A 3. si dans une association A il nexiste pas dentité E pour laquelle la cardinalité du couple (E,A) est égale à (0,1) ou (1,1), on crée un nouveau schéma de relation contenant une clé de chacune des entités participant à lassociation et les attributs de A


Télécharger ppt "III. Conception de schéma de base de données. Bases de données - Yann Loyer2 Introduction à la conception Le schéma change rarement importance du choix."

Présentations similaires


Annonces Google