Conception d un schéma de base de données Contexte METHODE MERISE Conception d un système d information Conception d un schéma de BD 2/42 1
APPROCHES Méthodologique Formelle Modèle relationnel enrichi par les dépendances fonctionnelles 3/42 PRINCIPES DE MODELISATION Réalité Dépendant du modèle de donnée cible Interactions avec les utlisateurs Schéma Conceptuel Règles de passage Indépendant de tout modèle de données et de tout SGBD!!! Schéma Logique 4/42 2
(1976) Peter Pin-Chan CHEN 5/42 ATTRIBUT Propriété élémentaire d une entité ou d une association définie sur un domaine Exemples: nom, prénom, prix, couleurs, âge, 6/42 3
ENTITE Objet de la réalité doté d une existence propre, indépendante Concret, tangible: Produit, client, voiture, Conceptuel: Société, cours, travail, projet, Exemples Client (N : 25), (: Dupont), (: Jean), (Adresse: rue du chat qui pêche), (Ville: Paris) Compte (N : 252), (Solde: 1300) Collection de couples (Attribut, Valeur) 7/42 ASSOCIATION Lien sémantique entre plusieurs entités Exemples Client (25, Dupont, Jean, rue du chat qui pêche, Paris) Est titulaire de Compte (252, 1300) Acteur (Mastroianni, Marcello) Joue dans(cachet 1 000 000 Lires) Film (La dolce vita, Fellini) Attribut d association 8/42 4
TYPE/CLASSE D ENTITE Ensemble d entités ayant les mêmes attributs/propriétés Représentation graphique du type TYPE/CLASSE D ASSOCIATION Ensemble d associations de même arité et avec les mêmes attributs d association reliant les mêmes types d entité Représentation graphique du Type du Type 9/42 EXPRESSION DE CONTRAINTES Identifiant d une entité Ensemble d attribut(s) permettant d identifier (distinguer) de manière unique chaque occurrence d entité d un même type 10/42 5
EXPRESSION DE CONTRAINTES Cardinalités d une association bre minimal et maximal de participation d une occurrence d entité à un type d association Cardinalité minimale 0: une occurrence d entitépeut exister sans participerau type d association 1: une occurrence d entiténe peut exister sans participerau moins une fois au type d association Cardinalité maximale 1: une occurrence d entiténe peut participer qu une seule foisau type d association N: une occurrence d entitépeut participer plusieurs foisau type d association (occurrences d entités différentes!!) 11/42 ENTITE FAIBLE Les attributs décrivant une entité faible ne permettent de construire un identifiant. Cet identifiant devra être construit en utilisant l identifiant de l entité forte (dominante) dont elle dépend plus, éventuellement, tout ou partie des attributs de l entité faible Exemple: Soit une université où sont décrits : - les bâtiments: un nom unique, une superficie et - des salles de cours: un N unique relatif au bâtiment et une capacité. SALLE N SALLE CAPACITE 1,1 Se situe BATIMENT NOM BATIMENT SUPERFICIE 12/42 6
EXEMPLES 0, N Titulaire de COMPTE TYPE N NOM PRENOM ADRESSE VILLE N COMPTE SOLDE INSTANCE Titulaire de 25, Dupont,, 252, 1300 31, Martin,, 522, 2250 23, Lemaitre,, 67, Ramblier,, 132, 345 INTERDIT COMPTE 13/42 EXEMPLES FILM N FILM TITRE 1, 1 0, N A joué 0, N dans Appartient Cachet 0, N ACTEUR N ACTEUR NOM CATEGORIE 12, Titre1,, 31, Titre2,, 23, Titre3,, 67, Titre4,, FILM A joué dans 100000 150000 12000 N CATEGORIE DESIGNATION 23, 1 154, 2 Appartient 67, Désignation1 369, Désignation2 32, Désignation3 132, 3 ACTEUR CATEGORIE 14/42 7
EXEMPLES 526 527 530 SALLE N Salle Capacité HORAIRE Intervalle 0, N Case emploi du temps 12 35 121 PROFESSEUR N Professeur GROUPE ETUDIANT N Groupe bre SALLE 12-14 14-16 16-18 HORAIRE CASE EMPLOI DU TEMPS G1 G2 G3 G4 GROUPE PROFESSEUR 15/42 EXEMPLES 0,N <Père> PERSONNE Père de N SS 0, 1 <Enfant> <Père> 1111 <Père> <Enfant> 2222 <Enfant> 3333 4444 <Père> <Enfant> PERSONNE 16/42 8
Démarche de conception via le modèle entité-association 1. Expression du schéma conceptuel E-A à partir de la réalité 2. Amélioration du schéma conceptuel (normalisation) 17/42 Amélioration du schéma conceptuel Représenter toute la réalité et seulement la réalité STATION SKI 1, 1 Possède HOTEL 1, 1 Contient CHAMBRE Altitude Capacité No Type Est réservable depuis 1, 1 Se situe 18/42 9
Amélioration du schéma conceptuel Représenter toute la réalité et seulement la réalité STATION SKI 1, 1 Possède HOTEL 1, 1 Contient CHAMBRE Altitude Capacité No Type REDONDANCE SEMANTIQUE D ASSOCIATION Est réservable depuis 1, 1 Se situe A SUPPRIMER 19/42 Amélioration du schéma conceptuel Représenter toute la réalité et seulement la réalité PRODUIT 0, N VENTE N Produit Désignation COMMANDE Quantité N Commande Date N Client 20/42 10
Amélioration du schéma conceptuel Représenter toute la réalité et seulement la réalité PRODUIT 0, N VENTE N Produit Désignation COMMANDE Quantité N Client OUBLI DE CONTRAINTE N Commande Date 21/42 Amélioration du schéma conceptuel Représenter toute la réalité et seulement la réalité PRODUIT 0, N VENTE N Produit Désignation COMMANDE Quantité N Client OUBLI DE CONTRAINTE Il n y a qu un seul client par commande PRODUIT N Produit Désignation N Commande Date 0, N Est commandé Passe Quantité 1, 1 COMMANDE N Commande Date N Client 22/42 11
Amélioration du schéma conceptuel FOURNISSEUR 0, N Livre N Fournisseur 1, 1 COMMANDE N Commande Date N Client 23/42 Amélioration du schéma conceptuel FOURNISSEUR 0, N Livre N Fournisseur 1, 1 COMMANDE N Client DECOMPOSITION D ASSOCIATIONS FOURNISSEUR N Fournisseur Livre 1, 1 N Commande Date 0, N COMMANDE Passe 1, 1 N Client N Commande Date 24/42 12
Règles à respecter Attribut Un même attribut ne peut être partagé par plusieurs types entités ou associations Un attribut doit être ATOMIQUE Un attribut doit dépendre en totalitéde l'identifiant de son entité. Un attribut doit dépendre directement de l'identifiant de son entité: c'est-à-dire sans passer par l'intermédiaire d'un autre attribut (pas de dépendences transitives) 25/42 Règles à respecter Entité Une entité possède toujours au moins un attribut qui doit être alors son identifiant Chacun des attributs d'une type d entité est caractéristique de TOUTE occurrence de cette entité Association Pour toute occurrence d'association, il existe une occurrence de chacune des entités associées. 26/42 13
Remarques La réalité? Bien délimiter les frontières de la réalité à modéliser Exemple: Si on intègre les commandes dans cette réalité, doit-on s occuper aussi de la facturation, de la gestion des stocks? Bien définir ou lire le cahier des charges, l évaluation des besoins Entité vs association Le choix entre entité ou association n est pas toujours évident Exemple: une commande pourra être vue comme une association entre un client et des produits ou bien comme une entité propre Dépend du contexte et de l utilisation 27/42 Métamodèle du modèle entité-association Bernard Morand 28/42 14
Réalité Modèle de donnée relationnel Interactions avec les utlisateurs Schéma Conceptuel Règles de passage Indépendant de tout modèle de données et de tout SGBD!!! Schéma logique relationnel 29/42 Traduction du modèle entité-association vers le modèle relationnel Règle 1: Type d entité Traduit par la création d une relation de même nom que le type d entité Attributs: les attributs du type d entité Clé primaire: 1. Entitéforte: l identifiant du type d entité 2. Entité faible: l identifiant éventuel du type d entité plus l identifiant du type d entité forte dont elle dépend Cet identifiant est une cléétrangère signalée par # 30/42 15
Règle 1: Type d entité Exemple 1 COMMANDE N Commande Date 1, 1 Concerne Date livraison N Client COMMANDE (N Commande, date) (N Client,, ) 31/42 Règle 1: Type d entité Exemple 2 SALLE N SALLE CAPACITE 1,1 Se situe SALLE (N SALLE, CAPACITÉ, #NOM_BATIMENT) BATIMENT (NOM_BATIMENT, SUPERFICIE) BATIMENT NOM BATIMENT SUPERFICIE 32/42 16
Règle 2: Type d association binaire avec cardinalité 1,1 Pas de création de relation Intégrédans relation traduisant le type d entitéqui participe avec la cardinalité 1,1 Ajout dans cette relation : de l identifiant de l autre type d entité associé cet identifiant est une clé étrangère signalée par # des attributs éventuels de l association 33/42 Règle 2: Type d association binaire avec cardinalité 1,1 Exemple 1 COMMANDE N Commande Date 1, 1 COMMANDE (N Commande, date, #N Client, Date_livraison) (N Client,, ) Concerne Date livraison N Client 34/42 17
Règle 2: Type d association binaire avec cardinalité 1,1 Exemple 2 PERSONNE N SS 0, N <Père> 1, 1 <Enfant> Père de Il faut préciser le rôle de l identifiant PERSONNE (N SS,,, #N SS_Père) PERSONNE (N SS,,, #N SS) 35/42 Règle 3: Type d association n-aire avec cardinalités n,n Traduit par la création d une relation de même nom que le type d association Attributs: les attributs éventuels du type d association Clé primaire: ensemble des n identifiants des types d entité qui participent à l association Chacun de ces identifiants est une clé étrangère n identifiants => n clés étrangères 36/42 18
Règle 3: Type d association n-aire avec cardinalités n,n Exemple 1 FILM N FILM TITRE FILM (N Film, Titre) ACTEUR (N Acteur, ) A_JOUE_DANS (#N Film, #N Acteur, Cachet) La clé primaire {N film, N acteur} est ici composée de deux clés étrangères: {N film} qui référence {N film} dans FILM {N acteur} qui référence {N acteur} dans ACTEUR 0, N A joué 0, N dans Cachet ACTEUR N ACTEUR NOM 37/42 Règle 3: Type d association n-aire avec cardinalités n,n Exemple 2 SALLE N Salle Capacité HORAIRE Intervalle N Groupe bre SALLE (N Salle, Capacité) PROFESSEUR (N Professeur,, ) HORAIRE (Intervalle) GROUPE_ETUDIANT(N Groupe, nombre) CASE_EDT (#N Salle, #N Professeur, #Intervalle, #N Groupe,_cours) 0, N Case emploi du temps cours PROFESSEUR N Professeur GROUPE ETUDIANT 38/42 19
Règle 4: Type d association binaire avec cardinalités 0,1 1. Si la cardinalité0 est très rare: application de la règle 2 Une cardinalité0 est représentée par la valeur NULL Exemple 1 PERSONNE N INSEE 0, 1 Est inscrit Date inscription VILLE N Ville PERSONNE (N INSEE,,, #N ville, Date_inscription) VILLE (N VILLE, ) Lorsqu une personne n est pas inscrite, son N ville et sa Date_inscription ont la valeur NULL 39/42 Règle 4: Type d association binaire avec cardinalités 0,1 2. Si la cardinalité0 est fréquente: traduit par la création d une relation Attributs: les nidentifiants des types d entitéassociés. Chacun de ces identifiants est une cléétrangère les attributs éventuels du type d association Cléprimaire: formée UNIQUEMENT de l identifiant du type d entité qui participe avec la cardinalité 0,1 Une cardinalité0 est représentée par une absence de tuple dans cette relation 40/42 20
Règle 4: Type d association binaire avec cardinalités 0,1 2. Si la cardinalité0 est fréquente Exemple 2 PERSONNE N INSEE 0,1 Est inscrit Date inscription VILLE N Ville PERSONNE (N INSEE,, ) VILLE (N VILLE, ) EST_INSCRIT (#N INSEE, #N VILLE, Date_inscription) Lorsqu une personne n est pas inscrite, il n y a aucun tuple la concernant dans la relation EST_INSCRIT 41/42 FICHE DES SAVOIRS Répondez par OUI ou par NON aux affirmations suivantes. Pour chaque affirmation où vous répondez NON: revoyez le cours et vos notes de cours si cela ne suffit pas, posez des questions en cours ou/et TD Refaites régulièrement cette auto évaluation afin de vous assurer que vos connaissances sur ce cours ne s affaiblissent pas au fur et à mesure que le temps passe 1. Je connais la démarche de modélisation conduisant à un schéma de base de données [ ] [ ] 2. Je connais la place du modèle entité/association dans cette démarche [ ] [ ] 3. Je comprends les notions d entité et d association [ ] [ ] 4. Je fais la différence entre une entité et un type d entité [ ] [ ] 5. Je fais la différence entre une association et un type d association [ ] [ ] 6. Je connais les notions d identifiant et de cardinalité [ ] [ ] 7. Je comprends qu identifiant et cardinalité traduisent des contraintes de la réalité [ ] [ ] 8. Je sais comment un modèle E/A doit être amélioré [ ] [ ] 9. Je connais et comprends les règles que doivent respecter un modèle E/A [ ] [ ] 10. Je connais les règles de traduction d un modèle E/A en un modèle de données relationnel [ ] [ ] OUI NON 42/42 21