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

Slides:



Advertisements
Présentations similaires
Modèle Conceptuel des données
Advertisements

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)
Classification et prédiction
Modèle Entités-Associations
Le modèle logique des données relationnel MLD
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
Chap 1 Grammaires et dérivations.
INTRODUCTION.
3.1 L’offre 3 Construire l'offre 3.1 L'offre 3.2 La valeur de l'offre
ALGEBRE DE BOOLE Mohamed Yassine Haouam
Initiation au système d’information et aux bases de données
Initiation au système d’information et aux bases de données
Analyse et Conception des Systèmes d’Informations
Algorithmique et Programmation
Initiation à la conception de systèmes d'information
Connexion en mode application. Bases de données - Yann Loyer2 Connexion en mode application Pour tout type dutilisateurs : –passif, actif, gérant Permettre.
Initiation à la conception des systèmes d'informations
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Chap 4 Les bases de données et le modèle relationnel
Initiation aux bases de données
Les formes normales.
Algorithmique et Programmation
SYSTEMES D’INFORMATION
Les Systèmes de Gestion de Bases de Données (SGBD) Modèle Entité/Association.
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 CSI3525: Concepts des Languages de Programmation Notes # 3: Description Syntaxique des Languages.
Cours de Base de Données & Langage SQL
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 aux bases de données et à la programmation événementielle
Initiation à la conception des systèmes d'informations
Chapitre 3 La normalisation du modèle relationnel
Problèmes BD. Bases de données - Yann Loyer2 Problèmes BD Ensemble de problèmes couramment rencontrés lors du développement d’applications de bases de.
Paradigmes des Langages de Programmation
INTRODUCTION.
Bases de données Yann Loyer
Programmation linéaire en nombres entiers
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
Intégration de schémas
DOSSIER G10 – La base de données Relationnelle
Bases de données : modèlisation et SGBD
Quinio1 Bases de données : modèlisation et SGBD Séance 3 B Quinio.
06/04/06 LES BASES DE DONNEES INTRODUCTION CogniTIC – Bruxelles Formation - Cepegra.
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.
Nouvelles Technologies Internet & Mobile
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
La Modélisation : représenter la réalité dans un système informatisé
INTRODUCTION AUX BASES DE DONNEES
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 Base et métabase
Introduction Module 1.
Le modèle logique des données relationnel
Bases de données – Cours 2
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Les bases de données Séance 2 Méthodologies d’analyse.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
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é.
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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

É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

É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

É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

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

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

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

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

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

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

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

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

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

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

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