Vous êtes sur la page 1sur 17

Préambule

Le modèle MCD
MLD et MPD
Exercice

Notions sur la modélisation et la création d’une base de


données.

D. Puthier1

1
ERM206/Technologies Avancées pour le Génome et la Clinique,
http://tagc.univ-mrs.fr/staff/Puthier,
puthier@tagc.univ-mrs.fr

ESIL, 2009

D. Puthier UNIX/Linux
Préambule
Le modèle MCD
MLD et MPD
Exercice

Préambules

D. Puthier UNIX/Linux
Préambule
Le modèle MCD
MLD et MPD
Exercice

Définition

L’analyse des données: étape essentielle dans la conception


d’applications liées à un SGBDR
Le modèle entité-association: technique d’analyse permettant de
construire un schéma de bases de données relationnelles.
La méthode Merise a été proposée par Hubert Tardieu dans les années
1970.
Méthode d’analyse, de conception et de réalisation de systèmes
d’information informatisés.
Approche utilisée dans le développement de base de données
relationnelles.
Son utilisation permet d’économiser du temps de conception (on code
après reflexion...).

D. Puthier UNIX/Linux
Préambule Les entités
Le modèle MCD Les associations
MLD et MPD Cardinalités des associations
Exercice Clef d’une entité

Le Modèle Conceptuel des Données (MCD)


Il met en jeu des d’entités et des associations (entity/relationship en
anglais).
L’entité: un objet d’intérêt dans le problème qu’on cherche à modéliser (ex:
client, facture, gene, protéine, expérience,...). C’est un regroupement
d’informations.
Chaque entité comporte des attributs (ou propriétés) c’est à dire des
caractéristiques (date de naissance, couleur, nom, capitale, population,
superficie, ...).
Il peut exister 0 à n occurrences d’une entité (ex: plusieurs occurences de
l’entité villes)

D. Puthier UNIX/Linux
Préambule Les entités
Le modèle MCD Les associations
MLD et MPD Cardinalités des associations
Exercice Clef d’une entité

Typages des attributs

Les attributs peuvent avoir des types permettant de mieux les décrires:
D Date
An Caractères de longueur n
BL Booléen
T Temps
DT Date Temps
N Nombre
S Smallint (entier court)
I Integer entier

D. Puthier UNIX/Linux
Préambule Les entités
Le modèle MCD Les associations
MLD et MPD Cardinalités des associations
Exercice Clef d’une entité

Les associations

Elles permettent de définir des relations sémantiques entre entités.

D. Puthier UNIX/Linux
Préambule Les entités
Le modèle MCD Les associations
MLD et MPD Cardinalités des associations
Exercice Clef d’une entité

Cardinalités des associations

La cardinalité indique le nombre minimum (0 ou 1) et maximum (1 ou n)


de fois où l’occurrence d’une entité peut participer à une association
Le schéma suivant indique que:
une être humain réside dans 1..1 appartement
un appartement est occupé par 0..n être(s) humain(s).
un être humain possède 0..n appartement(s).

D. Puthier UNIX/Linux
Préambule Les entités
Le modèle MCD Les associations
MLD et MPD Cardinalités des associations
Exercice Clef d’une entité

Clef d’une entité

Une clef est utilisée pour discriminer sans ambiguité les occurences
(exemple: le numéro de commande, le numéro de client,...).
Cette clef devra répondre au critère d’unicité, de concision (préférer le
numérique), et de stabilité (l’identifiant ne doit pas changer tous les
jours...).
Dans certain cas, le choix est naturel
Immatriculation pour une automobile, Code postal pour une ville, numéro
de sécurité sociale pour un patient,...
Dans d’autre cas il faudra
Utiliser une combinaison d’attributs pour définir une clef composée (ex
Date de naissance-nom-prénom).
Utilisé une clef “artificielle” spécifique à la BD (Ex: un numéro client).
De manière générale il faut mieux préférer un clef numérique artificielle à
une clef naturelle composée.

D. Puthier UNIX/Linux
Préambule Les entités
Le modèle MCD Les associations
MLD et MPD Cardinalités des associations
Exercice Clef d’une entité

Clef d’une entité

De manière générale, on préfèrera les clefs numériques aux clefs


aphabétiques et aphanumériques car celles-ci occupent moins d’espace et
sont plus rapides à trier.

D. Puthier UNIX/Linux
Préambule
Le modèle MCD
MLD et MPD
Exercice

MLD et MPD

Le MCD visait à conceptualiser l’application.


Le MLD (Modèle Logique de Données) vise à traduire le MCD en tables
utilisables par un SGBD.
L’intérêt de la méthode Merise est de proposer des règles simples pour
faciliter la transformation MCD -> MLD.
Le MPD (Modèle hysique de Données) est un autre raffinement qui vise à
produire un MLD pour un SGBD spécifique.

D. Puthier UNIX/Linux
Préambule
Le modèle MCD
MLD et MPD
Exercice

Les règles .

1 A chaque entité correspond une table.


2 Si la relation est de type 1:1, les entités ont la même clef.
3 Dans le cas d’une relation 1:n, la clef de l’entité côté 0,n/1,n migre vers la
table côté 0,1/1,1 et devient une clef étrangère (Foreign Key).
4 Dans le cas d’une association n:m entre une table A et une table B, une
nouvelle table C est créée. Dans C, les clefs primaires de A et B sont des
clefs étrangères.
5 Une liste plus exhaustive des règles est disponible à l’adresse suivante:
http://www.sam-mag.com/P53,53,5,43„,default.aspx

D. Puthier UNIX/Linux
Préambule
Le modèle MCD
MLD et MPD
Exercice

Exemple: MCD

D. Puthier UNIX/Linux
Préambule
Le modèle MCD
MLD et MPD
Exercice

Exemple: le MPD correspondant.

D. Puthier UNIX/Linux
Préambule
Le modèle MCD
MLD et MPD
Exercice

Exercice. Modéliser une base de données “Hygiène et sécurité” permettant


d’effectuer le suivi de l’exposition des chercheurs aux produits chimiques.
1 Les utilisateurs (nom, prénom) utilisent des produits chimiques au sein de
laboratoires (adresse).
2 Il existe pour chaque produit (idCAS, désignation, autresDésignations) des
“Phrases de risque” et des “Phases de prudence“.
3 On stocke pour chaque utilisations les données suivantes: utilisateur,
laboratoire, produit, date de début, date de fin.

D. Puthier UNIX/Linux
Préambule
Le modèle MCD
MLD et MPD
Exercice

Exemple: MCD (réalisé avec AnalyseSI).

D. Puthier UNIX/Linux
Préambule
Le modèle MCD
MLD et MPD
Exercice

Le MLD

D. Puthier UNIX/Linux
Préambule
Le modèle MCD
MLD et MPD
Exercice

Réalisez le MPD correspondant avec mysql-workbench.

D. Puthier UNIX/Linux

Vous aimerez peut-être aussi