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

Présentations similaires


Présentation au sujet: "III. Conception de schéma de base de données"— Transcription de la présentation:

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

2 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 d’une  un « bon » schéma application Bases de données - Yann Loyer

3 Description d’une 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 d’intégrité donnent les bons regroupements d’attributs en schémas de relation Bases de données - Yann Loyer

4 Description du processus (1)
Définition de l’univers U Définition de l’ensemble 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 = {R1,…, Rn} de schémas de relation tel que 1inRi = U S est un schéma de base de données Bases de données - Yann Loyer

5 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 Bases de données - Yann Loyer

6 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é r╞X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 Bases de données - Yann Loyer

7 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) Bases de données - Yann Loyer

8 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 l’ensemble de toutes les df que l’on peut impliquer à partir de F, i.e. F+ = {XY | F╞ XY} F et G sont équivalents si F+ = G+ Bases de données - Yann Loyer

9 Bases de données - Yann Loyer
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} Bases de données - Yann Loyer

10 Implication sémantique (2)
Proposition: F╞ X  X Y╞ XZ  YZ X Y, Y  Z ╞ X  Z X Y, X  Z ╞ X  YZ X YZ ╞ X  Y X Y, YZ  W ╞ XZ  W Bases de données - Yann Loyer

11 Bases de données - Yann Loyer
Axiomatisation Répondre à la question « F implique-t-il f ? » est difficile  Caractérisation syntaxique de l’implication sémantique à l’aide d’un axiome et de deux règles (axiome, augmentation, transitivité) Le système d’inférence qui en résulte est appelé système d’Armstrong Bases de données - Yann Loyer

12 Bases de données - Yann Loyer
Système d’Armstrong F engendre f, noté F├ f s’il existe une suite de df f1,…, fn telle que f = fn et i{1,…,n} soit fi  F soit fi est engendrée par f1,…, fi-1 à partir de: Axiome : F├ X  Augmentation : X Y├ XZ  YZ Transitivité : X Y, Y  Z ├ X  Z Bases de données - Yann Loyer

13 Système d’Armstrong (2)
La suite f1,…, fn 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 d’Armstrong est sain et complet implication  dérivation Bases de données - Yann Loyer

14 Fermeture d’un ensemble d’attributs
Difficile de répondre à la question « F engendre-t-il f ? » recherche d’un algorithme efficace fondé sur la notion de fermeture d’un ensemble d’attributs Bases de données - Yann Loyer

15 Fermeture d’un ensemble d’attributs
Soit X un ensemble d’attributs La fermeture de X par rapport à F, notée XF+, est définie par XF+= max {Y  U | F├ X  Y}  nouvelle caractérisation de F├ X  Y Théorème 2 : F├ X  Y  Y  XF+ Bases de données - Yann Loyer

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

17 Bases de données - Yann Loyer
Algorithmes (2) Calcul de XF+: Entrée: un schéma de relation U, un ensemble d’attributs X  U, un ensemble F de df sur U Sortie: XF+ 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 Bases de données - Yann Loyer

18 Clé d’un 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 l’une des propriétés suivantes est satisfaite : F╞ K  U F├ K  U KF+ = 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  XF+  U) Bases de données - Yann Loyer

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

20 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 d’Information (SPI) Sans Perte de Dépendances (SPD) en Forme Normale Bases de données - Yann Loyer

21 III.2.1 Décomposition Sans Perte d’Information (SPI)
La décomposition d’un schéma de relation consiste à scinder ce schéma en plusieurs sous-schémas Décomposition de U : tout ensemble S = {R1,…, Rn} de schémas de relation tel que 1inRi = U  acceptable si on peut à tout moment reconstruire la relation de départ par jointure Bases de données - Yann Loyer

22 Décomposition SPI Définition : Soient U un schéma de relation et F un ensemble de df sur U. Une décomposition S = {R1,…,Rn} est sans perte d’information(SPI) si u (u╞ F  R1(u) || … || Rn(u) = u) Bases de données - Yann Loyer

23 Algorithme de poursuite (chase)
Entrée: U = {A1,…, An} , S = {R1,…, Rm}, F Sortie: oui/non S est SPI par rapport à F Méthode: Construction du tableau initial pour i=1 à m, faire pour j=1 à n, faire si Aj  Ri then T[i](Aj) := aj else T[i](Aj) := xi,j 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. s’il existe une ligne sans variables alors retourner oui sinon retourner non Bases de données - Yann Loyer

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

25 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. qu’elle 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. Bases de données - Yann Loyer

26 Bases de données - Yann Loyer
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 Bases de données - Yann Loyer

27 Bases de données - Yann Loyer
Décomposition SPD Définition : une décomposition S de U est dite sans perte de dépendances (SPD) par rapport à F s’il existe un ensemble G de df tel que : F  G  XY  G (Ri  S (XY  Ri)) Bases de données - Yann Loyer

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

29 Bases de données - Yann Loyer
Algorithme SPD Proposition : une décomposition S = {R1,…,Rn} de U est SPD par rapport à F si FR1  … FRn ╞ F algorithme pour vérifier qu’une décomposition S = {R1,…,Rn} de U est SPD par rapport à F : pour i = 1 à n, calculer FRi si FR1  … FRn ╞ F alors S est SPD Bases de données - Yann Loyer

30 Bases de données - Yann Loyer
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 n’appartenant à 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 Bases de données - Yann Loyer

31 Algorithme de Bernstein
Entrée: U = {A1,…, An} , F Sortie: une décomposition S de U SPI, SPD et 3FN par rapport à F Méthode: Calculer les clés de U par rapport à F Si U est en 3FN par rapport à F alors stop Sinon calculer une couverture minimale G de F regrouper les df de G ayant la même partie gauche {XY1 ,… , XYn} et créer un schéma RX = (X,Y1 ,… , Yn) 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 Bases de données - Yann Loyer

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

33 Calcul de couverture minimale
Réduction à droite : remplacer toute df XA1…An de F par {XA1 ,… , XAn} Réduction à gauche : pour toute df XY, s’il existe Z  X tel que F├ ZY, alors remplacer XY par ZY Suppression des redondances : pour toute df XY, si F \ {XY}├ XY alors supprimer XY Bases de données - Yann Loyer

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

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

36 Éléments du modèle : association
Les associations représentent des liens entre objets et individus du système d’information Elles structurent les objets dans l’espace 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 Bases de données - Yann Loyer

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

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

39 Bases de données - Yann Loyer
Clé d’entités Clé d’entités : attribut ou ensemble d’attributs permettant d’identifier de manière unique les occurrences de l’entité Une entité peut avoir plusieurs clés En général, on résout le problème de l’attribution de clé à une entité en y ajoutant un attribut fictif tel qu’un code ou numéro Bases de données - Yann Loyer

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

41 Cardinalité d’un couple E/A
Cardinalité d’un couple E/A : couple (x,y) d’entiers tels que : x est le nombre minimal d’occurrences de l’association pouvant exister pour une occurrence donnée de l’entité y est le nombre maximal d’occurrences de l’association pouvant exister pour une occurrence donnée de l’entité Exemple : « Client » « Passe » « Commande » (0,n) (1,1) Bases de données - Yann Loyer

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

43 Processus de conception
Reconnaissance des entités Reconnaissance des associations Reconnaissance des attributs pertinents Placement des attributs Choix des types d’associations (binaires) Choix des cardinalités des couples E/A Traduction en relationnel Bases de données - Yann Loyer

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

45 Problème de représentation du temps
Une représentation est dite diachronique lorsque l’on 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 : Entités temporelles Entités représentant des événements datés Bases de données - Yann Loyer

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

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

48 Bases de données - Yann Loyer
Traduction de E/A en MR Règles de traduction : à chaque entité est associée un schéma de relation composé de tous les attributs de l’entité 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 à l’association et les attributs de A si dans une association A il n’existe pas d’entité 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 à l’association et les attributs de A Bases de données - Yann Loyer


Télécharger ppt "III. Conception de schéma de base de données"

Présentations similaires


Annonces Google