MCD (Modèle Conceptuel de Données)

Le Modèle Conceptuel de Données représente les entités du monde réel et leurs relations, sans considération technique.

Caractéristiques:

  • Utilise la terminologie métier
  • Montre les entités, attributs et relations
  • Inclut les cardinalités pour définir les contraintes entre entités
  • Se concentre sur QUELLES données doivent être stockées
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#003da5', 'primaryTextColor': '#fff', 'primaryBorderColor': '#003da5', 'lineColor': '#003da5', 'secondaryColor': '#006AD4', 'tertiaryColor': '#fff'}}}%% graph LR Utilisateur["Utilisateur
---
- prénom
- nom
- email
- dateNaissance"] Livre["Livre
---
- titre
- datePublication
- ISBN"] Auteur["Auteur
---
- nom
- prénom
- dateNaissance
- nationalité"] Emprunt["Emprunt
---
- dateDebut
- dateFin
- statut"] Utilisateur -- "0,N Effectuer 1,1" --- Emprunt Livre -- "0,N Concerner 1,1" --- Emprunt Auteur -- "1,N Ecrire 0,N" --- Livre

MLD (Modèle Logique de Données)

Le Modèle Logique de Données traduit le modèle conceptuel en structure de base de données, introduisant les notions de clés.

Caractéristiques:

  • Introduit les clés primaires (PK) et les clés étrangères (FK)
  • Montre la cardinalité des relations (1:N, N:N)
  • Les FK sont mises en évidence pour montrer les relations
  • Normalise la structure des données
  • Se concentre sur COMMENT les données seront structurées
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#003da5', 'primaryTextColor': '#fff', 'primaryBorderColor': '#003da5', 'lineColor': '#003da5', 'secondaryColor': '#006AD4', 'tertiaryColor': '#fff'}}}%% graph TD Utilisateurs["Utilisateurs
---
- id_utilisateur (PK)
- prenom
- nom
- email
- date_naissance"] Auteurs["Auteurs
---
- id_auteur (PK)
- nom
- prenom
- date_naissance
- nationalite"] Livres["Livres
---
- id_livre (PK)
- titre
- date_publication
- isbn"] AuteursLivres["Auteurs_Livres
---
- id_auteur (FK)
- id_livre (FK)"] Emprunts["Emprunts
---
- id_emprunt (PK)
- id_utilisateur (FK)
- id_livre (FK)
- date_debut
- date_fin
- statut"] Utilisateurs -- "1:N" --> Emprunts Livres -- "1:N" --> Emprunts Auteurs -- "1:N" --> AuteursLivres Livres -- "1:N" --> AuteursLivres

MPD (Modèle Physique de Données)

Le Modèle Physique de Données implémente le modèle logique pour un système de base de données spécifique, avec tous les détails techniques.

Caractéristiques:

  • Inclut les types de données précis, contraintes et index
  • Contient des définitions proches du SQL
  • Montre les relations entre tables par des flèches
  • Inclut des éléments d'optimisation de performance
  • Représente l'implémentation RÉELLE
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#003da5', 'primaryTextColor': '#fff', 'primaryBorderColor': '#003da5', 'lineColor': '#003da5', 'secondaryColor': '#006AD4', 'tertiaryColor': '#fff'}}}%% graph TD TableUtilisateurs["TABLE Utilisateurs
---
id_utilisateur INT PRIMARY KEY
prenom VARCHAR(50) NOT NULL
nom VARCHAR(50) NOT NULL
email VARCHAR(100) UNIQUE
date_naissance DATE
INDEX idx_email (email)"] TableAuteurs["TABLE Auteurs
---
id_auteur INT PRIMARY KEY
nom VARCHAR(50) NOT NULL
prenom VARCHAR(50)
date_naissance DATE
nationalite VARCHAR(50)
INDEX idx_nom_prenom (nom, prenom)"] TableLivres["TABLE Livres
---
id_livre INT PRIMARY KEY
titre VARCHAR(200) NOT NULL
date_publication DATE
isbn VARCHAR(13) UNIQUE
INDEX idx_isbn (isbn)
INDEX idx_titre (titre)"] TableAuteursLivres["TABLE Auteurs_Livres
---
id_auteur INT NOT NULL
id_livre INT NOT NULL
PRIMARY KEY (id_auteur, id_livre)
FOREIGN KEY (id_auteur) REFERENCES Auteurs(id_auteur)
FOREIGN KEY (id_livre) REFERENCES Livres(id_livre)
INDEX idx_auteur (id_auteur)
INDEX idx_livre (id_livre)"] TableEmprunts["TABLE Emprunts
---
id_emprunt INT PRIMARY KEY
id_utilisateur INT NOT NULL
id_livre INT NOT NULL
date_debut DATE NOT NULL
date_fin DATE
statut VARCHAR(20)
FOREIGN KEY (id_utilisateur) REFERENCES Utilisateurs(id_utilisateur)
FOREIGN KEY (id_livre) REFERENCES Livres(id_livre)
INDEX idx_utilisateur (id_utilisateur)
INDEX idx_livre (id_livre)"] TableUtilisateurs --> TableEmprunts TableLivres --> TableEmprunts TableAuteurs --> TableAuteursLivres TableLivres --> TableAuteursLivres