III. Conception de schéma de base de données. Bases de données - Yann Loyer2 Introduction à la...

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

Transcript of III. Conception de schéma de base de données. Bases de données - Yann Loyer2 Introduction à la...

Page 1: 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.

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

Page 2: 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.

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

Page 3: 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.

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

Page 4: 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.

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 1inRi = U

S est un schéma de base de données

Page 5: 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.

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

Page 6: 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.

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 XU et YU• Une relation r sur U satisfait XY , noté r╞XY,

si t,t’ r ( t(X) = t’(X) t(Y) = t’(Y) )• r╞ XY peut également se lire :

– X donne Y dans r– X détermine Y dans r

Page 7: 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.

Bases de données - Yann Loyer 7

Dépendances fonctionnelles

• Dépendance fonctionnelle triviale :– XY 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)

Page 8: 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.

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 gG (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+ = {XY | F╞ XY}

F et G sont équivalents si F+ = G+

Page 9: 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.

Bases de données - Yann Loyer 9

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}

Page 10: 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.

Bases de données - Yann Loyer 10

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

Page 11: 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.

Bases de données - Yann Loyer 11

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

Page 12: 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.

Bases de données - Yann Loyer 12

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

Page 13: 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.

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

Page 14: 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.

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

Page 15: 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.

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+

Page 16: 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.

Bases de données - Yann Loyer 16

Algorithmes (1)

Le théorème 1 fournit un algorithme pour

répondre à la question « F implique-t-il f ? » :

1. Calculer XF+,

2. Si Y XF+ alors oui sinon non

Besoin d’un algorithme efficace de calcul de XF+

Page 17: 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.

Bases de données - Yann Loyer 17

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

Page 18: 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.

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 :1. F╞ K U2. F├ K U

3. 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)

Page 19: 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.

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

Page 20: 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.

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

Page 21: 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.

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 1inRi = U

acceptable si on peut à tout moment reconstruire la relation de départ par jointure

Page 22: 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.

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)

Page 23: 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.

Bases de données - Yann Loyer 23

Algorithme de poursuite (chase)Entrée: U = {A1,…, An} , S = {R1,…, Rm}, FSortie: 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 Aj Ri then T[i](Aj) := aj else T[i](Aj) := xi,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. s’il existe une ligne sans variables alors retourner oui sinon retourner non

Page 24: 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.

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

Page 25: 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.

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.

Page 26: 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.

Bases de données - Yann Loyer 26

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

Page 27: 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.

Bases de données - Yann Loyer 27

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 :1. F G

2. XY G (Ri S (XY Ri))

Page 28: 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.

Bases de données - Yann Loyer 28

Décomposition SPD

Définition : XY 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 = {XY | 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 »

Page 29: 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.

Bases de données - Yann Loyer 29

Algorithme SPDProposition : 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 :

1. pour i = 1 à n, calculer FRi

2. si FR1 … FRn ╞ F alors S est SPD

Page 30: 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.

Bases de données - Yann Loyer 30

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

Page 31: 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.

Bases de données - Yann Loyer 31

Algorithme de BernsteinEntrée: U = {A1,…, An} , FSortie: une décomposition S de U SPI, SPD et 3FN par rapport à F Méthode: 1. Calculer les clés de U par rapport à F2. Si U est en 3FN par rapport à F alors stop3. Sinon

• calculer une couverture minimale G de F• regrouper les df de G ayant la même partie gauche {XY1 ,… ,

XYn} 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

Page 32: 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.

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 :

1. Réduction à droite

2. Réduction à gauche

3. Suppression des redondances

Page 33: 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.

Bases de données - Yann Loyer 33

Calcul de couverture minimale

1. Réduction à droite : remplacer toute df XA1…An de F par {XA1 ,… , XAn}

2. Réduction à gauche : pour toute df XY, s’il existe Z X tel que F├ ZY, alors remplacer XY par ZY

3. Suppression des redondances : pour toute df XY, si F \ {XY}├ XY alors supprimer XY

Page 34: 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.

III.3 Conception de schéma de BD

Modèle Entité/Association

Page 35: 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.

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

Page 36: 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.

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

Page 37: 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.

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 »

Page 38: 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.

Bases de données - Yann Loyer 38

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)

Page 39: 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.

Bases de données - Yann Loyer 39

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

Page 40: 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.

Bases de données - Yann Loyer 40

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 »)

Page 41: 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.

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)

Page 42: 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.

Bases de données - Yann Loyer 42

Représentation graphique

(0,n) 1:n (1,1)

entité 1 association entité 2

attribut1attribut2attribut3

attribut4attribut6

attribut5

Page 43: 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.

Bases de données - Yann Loyer 43

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 d’associations (binaires)

6. Choix des cardinalités des couples E/A

7. Traduction en relationnel

Page 44: 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.

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 voituremontantdate-contrat

Page 45: 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.

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 :1. Entités temporelles2. Entités représentant des événements datés

Page 46: 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.

Bases de données - Yann Loyer 46

Entités temporelles

Exemple :

étudiant assure voiture

date

Page 47: 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.

Bases de données - Yann Loyer 47

Événements datés

Exemple :

étudiant assure voiture

policenuméro-policedate-policemontant-police

Page 48: 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.

Bases de données - Yann Loyer 48

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 l’entité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 à l’association et les attributs de A

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