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