Attention, le contenu cet article est peut-être obsolète !
MCD, MDD, MPD : comment concevoir sa base de donnéesLa partie étude et conception est une étape primordiale dans la réalisation d'une base de données et in extenso de votre application. Malheureusement, elle est parfois trop négligée, même sur les petits projets, ce qui entraîne quelques désagréments lors des évolutions, voire entraîne la dégénérescence de l'application. Pourtant, une bonne réflexion avec une bonne partie documentaire peuvent créer un socle solide à votre développement. Faisons donc un petit tour des notions à connaître.
Le modèle conceptuel de données sert à ... conceptualiser l'application!
Il met en évidence deux éléments : les entités et les associations.
L'entité est un objet que l'on souhaite modéliser, par exemple une facture, une voiture, un appartement. Chaque entité possède des attributs : la voiture possède par exemple une couleur, une marque, un nombre de portes... Il peut exister de 0 à n occurences d'une entité.
Les attributs des entités possèdent des types standardisés pour les décrire, par exemple :
Les associations illustrent le lien entre les entitées : les relations sémantiques. Par exemple, Mr Dupont possède 4 voitures, mais chaque voiture n'a qu'un seul propriétaire.
On parle alors de cardinalité : le nombre de fois où une entité peut appartenir à une association. Exemple avec cette image :
Un autre exemple de MCD :
Un livre a été écrit par un ou plusieurs auteurs, mais un auteur a écrit au minimum et au maximum un seul livre.
Explication rapide : il s'agit de convertir notre MCD en un ensemble compréhensible pour un SGBD. Les entités sont remplacées par des des éléments de bases de données : les tables.
Il absorbe souvent le MLD : en effet il s'agit d'un affinement du MLD pour un SGBD spécifique.
Exemple de MPD : Ici le champ Ville de la table humain est une clée étrangère dont la valeur correspondante se trouve dans la table Ville. Cette liaison via une clef étrangère est renseignée dans la base de données sous le nom FK_VILLE (FK pour FOREIGN KEY).