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. Puthier 1 1 ERM206/Technologies Avancées pour le Génome et la Clinique, http://tagc.univ-mrs.fr/staff/Puthier, [email protected] ESIL, 2009 D. Puthier UNIX/Linux

Notions sur la modélisation et la création d'une base de …tagc.univ-mrs.fr/puthier/images/download/coursSQL3.n.pdf · L’intérêt de la méthode Merise est de proposer des règles

Embed Size (px)

Citation preview

PréambuleLe modèle MCD

MLD et MPDExercice

Notions sur la modélisation et la création d’une base dedonnées.

D. Puthier1

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

[email protected]

ESIL, 2009

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Préambules

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Définition

L’analyse des données: étape essentielle dans la conceptiond’applications liées à un SGBDR

Le modèle entité-association: technique d’analyse permettant deconstruire un schéma de bases de données relationnelles.

La méthode Merise a été proposée par Hubert Tardieu dans les années1970.

Méthode d’analyse, de conception et de réalisation de systèmesd’information informatisés.

Approche utilisée dans le développement de base de donnéesrelationnelles.

Son utilisation permet d’économiser du temps de conception (on codeaprès reflexion...).

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Les entitésLes associationsCardinalités des associationsClef d’une entité

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

Il met en jeu des d’entités et des associations (entity/relationship enanglais).

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 regroupementd’informations.Chaque entité comporte des attributs (ou propriétés) c’est à dire descaractéristiques (date de naissance, couleur, nom, capitale, population,superficie, ...).Il peut exister 0 à n occurrences d’une entité (ex: plusieurs occurences del’entité villes)

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Les entitésLes associationsCardinalités des associationsClef d’une entité

Typages des attributs

Les attributs peuvent avoir des types permettant de mieux les décrires:

D DateAn Caractères de longueur nBL BooléenT TempsDT Date TempsN NombreS Smallint (entier court)I Integer entier

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Les entitésLes associationsCardinalités des associationsClef d’une entité

Les associations

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

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Les entitésLes associationsCardinalités des associationsClef 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 associationLe schéma suivant indique que:

une être humain réside dans 1..1 appartementun appartement est occupé par 0..n être(s) humain(s).un être humain possède 0..n appartement(s).

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Les entitésLes associationsCardinalités des associationsClef 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 lenumérique), et de stabilité (l’identifiant ne doit pas changer tous lesjours...).Dans certain cas, le choix est naturel

Immatriculation pour une automobile, Code postal pour une ville, numérode sécurité sociale pour un patient,...

Dans d’autre cas il faudraUtiliser une combinaison d’attributs pour définir une clef composée (exDate 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éambuleLe modèle MCD

MLD et MPDExercice

Les entitésLes associationsCardinalités des associationsClef d’une entité

Clef d’une entité

De manière générale, on préfèrera les clefs numériques aux clefsaphabétiques et aphanumériques car celles-ci occupent moins d’espace etsont plus rapides à trier.

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

MLD et MPD

Le MCD visait à conceptualiser l’application.

Le MLD (Modèle Logique de Données) vise à traduire le MCD en tablesutilisables par un SGBD.

L’intérêt de la méthode Merise est de proposer des règles simples pourfaciliter 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éambuleLe modèle MCD

MLD et MPDExercice

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 latable 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, unenouvelle table C est créée. Dans C, les clefs primaires de A et B sont desclefs é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éambuleLe modèle MCD

MLD et MPDExercice

Exemple: MCD

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Exemple: le MPD correspondant.

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Exercice. Modéliser une base de données “Hygiène et sécurité” permettantd’effectuer le suivi de l’exposition des chercheurs aux produits chimiques.

1 Les utilisateurs (nom, prénom) utilisent des produits chimiques au sein delaboratoires (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éambuleLe modèle MCD

MLD et MPDExercice

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

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Le MLD

D. Puthier UNIX/Linux

PréambuleLe modèle MCD

MLD et MPDExercice

Réalisez le MPD correspondant avec mysql-workbench.

D. Puthier UNIX/Linux