Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
1
Base de Données :Conception de base de données
2
Plan du cours de Base de Données
●Vaste introduction●Le modèle relationnel●Le langage SQL●Conception de BD relationnelles
3
Quelques questions
●Quelles tables ?●Quelles colonnes ?●Quelles contraintes ?
●La conception aide les premiers choix. Ex.:l'adresse de livraison va dans la table Client ouCommande ?●Première étape (la plus importante)
4
La conception
●Une BD est conçue via un modèle (niveau conceptuel)●Conception vs réalisation.●Faire des choix justifiés :–Cerner le domaine de la BD
–Comprendre l'utilisation future
–Connaître les contraintes technique du commanditaire
–Anticiper les problèmes de maintenance
●Une tache d'expert (base lisible, évolutive, efficace,reflétant la réalité du domaine).
5
But de ce chapitre
●La conception de base de donnée relève del'expérience.●Ce chapitre : –sensibilise aux problèmes classiques
–aborde les solutions générales
–ne remplace pas l'expérience
–Aide à se poser les bonnes questions
●Base de données mal conçue : mauvais système●Base de donnée bien conçue : normal
6
Plan du chapitre
●Introduction●Modèle Conceptuel de Donnée (MCD)●Etude de cas●Passage MCD à MLD ●Dépendances fonctionnelles●Formes normales
7
Modèle Conceptuel de Données
●modèle graphique (facilite les échangesconcepteur/commanditaire)●Très répandu et intuitif●Force le concepteur à se poser les bonnes questions●Issu de la méthode MEURISE (France, 1978)●Pas grand chose à voir avec un diagramme declasse (programmation objet).
8
Modèle Entité/Association
●Modèle E/A = MCD●Entité : population homogène d'individus.–Ex: les articles d'un magasin
–Contre-ex: les clients et les articles de leur commande
●Association : liaison entre plusieurs entités, avecune signification précise.●Attribut : propriété de l'entité ou de l'associationdans laquelle il est indiqué●Identifiant : attribut(s) d'entité référençant demanière unique les individus d'une entité.
9
Modèle E/A : esquisse
10
Modèle E/A : cardinalités
●La cardinalité d'un lien entre une entité et unerelation précise le minimum et le maximum de foisqu'un individu de l'entité peut être concerné par larelation.●Cardinalité n : signifie une cardinalité positive sanslimite●Cardinalité minimale de 1 : les individus de l'entitéont besoin de l'association pour exister (vs 0)●Choix discutable/justifiable
11
Modèle E/A : cardinalités
●une cardinalité se lit de l'entité vers l'association :combien de fois un élément de l'entité peut êtreconcerné par l'association.●Exemples de question à se poser :–Pour un film donné, combien de fois peut-il être projetédans l'ensemble des cinémas ?
–Pour un cinéma donné, combien de projections peuventêtre programmée (tous films confondus) ?
●La réflexion sur les cardinalités impose souventl'apparition/disparition d'entités, par souci decohérence.
12
Modèle E/A : exemple
13
Les différents types d'associations
●Association plurielle●Association réflexive●Association n-aire (non binaire)
14
Association plurielle●désigne des associations différentes qui relient lesmêmes entités
15
Association réflexive
●désigne une association qui relie une entité à elle-même
16
Association n-aire●désigne une association qui lient n entités. Essayerde les éviter.●Difficulté : les cardinalités.
17
Règles de normalisation
●Un bon schéma E/A doit suivre quelques grandesrègles●A connaître absolument●Dictées par la méthode MERISE●Parfois contournables...
18
Normalité des entités●Toute entité remplaçable par une association doitêtre remplacée.●Facilement repérable : au centre d'un ensembled'associations, souvent avec des cardinalités 1,1.
19
Normalisation des noms
●nom d'une entité, d'une association, d'un attribut :unique.●Pas d'espace de noms●Peut être relâchée : si désigne la même quantité.
●Nom des entités au singulier.
20
Normalisation des identifiants
●Chaque entité possède un identifiant (future cléprimaire).●Quelques conseils :–pas d'identifiant sur plusieurs attributs
–de préférence de type Entier
–Éviter les types non numériques (chaîne, ...)
–Indépendant des attributs ordinaires
–Le moins de place possible
●Mauvais exemples : plaque d'immatriculation, numérode sécurité sociale
21
Normalisation des attributs●Il s'agit de remplacer les attributs (factorisation) quiapparaissent dans plusieurs entités par une entitéspécifique reliées aux première via des associations.
●Ne pas avoir d'attribut calculable à partir des autres.
22
Normalisation des attributsd'association
●Règle très importante●les attributs d'une association doivent dépendredirectement des identifiants de toutes les entitésmise en relation par l'association.●Du coup : beaucoup d'associations sans attribut.
→ Si le(s) attribut(s) d'une association sans lienavec tous les identifiants alors créer une nouvelleentité avec ce(s) attribut(s) ou déplacer ces attributsdans les entités.
23
Normalisation des attributs d'association
24
Normalisation des associations
●Il faut supprimer certaines associations :–association fantôme : association binaire dont toutes lescardinalités sont 1,1
–association redondante : association apparaissantconjointement à une autre, sans information supplémentaire(en particulier les mêmes cardinalités).
=> Supprimer le plus court chemin.
–associations similaires : de même arité, sur les mêmesentités, de même cardinalité maximum
25
Normalisation des associations (suite)
Association redondante
Association similaire
26
Normalisation des cardinalités
●Cardinalité minimum : 0 ou 1●Cardinalité maximum : 1 ou n
●En pratique : utilisation de triggers (déclencheur)pour pour vérifier des cardinalités comme 2,2 : cesont des fonctions PL/SQL qui s'exécutent à la suited'une insertion (ou autre modification) pour vérifierce type de contraintes.
27
Méthodologie de base pour construireun MCD
●MCD = Modèle Conceptuel de Données = (+/-)modèle E/A●Première étape de la réalisation de BD●Phase réalisée avec le commanditaire qui construitun cahier des charges (objectif, contenu, contraintes,etc.)●Aller-retours commanditaire/concepteur jusqu'à ceque le MCD reflète au plus près la réalité expriméepar le commanditaire.
28
5 phases
●Construire le MCD : de quelques heures à quelquesmois●A la fin : aucune ambiguïté, choix justifiables ●5 étapes :
1. Identifier les entités présentes
2. Lister les propriétés de chaque entités
3. Identifier de manière unique chaque individu de chaqueentité
4. Établir les relations entre entités
5. Identifier les cardinalités
(+ 6. Normalisation) .
29
Construction du MCD
● Nous allons voir les différentes étapes via unexemple de cahier des charges (copyrightCécile Capponi )
● En pratique ça ne se passe pas comme ça : lecahier des charge se monte en parallèle avec laréalisation du MCD.