Modélisation des données en SQL
La modélisation des données consiste à organiser et structurer les informations avant de créer une base de données. Elle permet de représenter les entités, leurs attributs et les relations entre elles.
1. Qu’est-ce qu’une entité ?
Une entité représente un objet du monde réel dont on veut stocker des informations.
Exemples d’entités :
- Client
- Produit
- Commande
- Employé
Exemple d’entité Client :
Client
-------------------------
ID
Nom
Email
Ville
2. Les attributs
Les attributs sont les informations décrivant une entité.
Exemple pour l’entité Produit :
Produit
-------------------------
CodeProduit
Nom
Prix
Stock
3. Les relations entre entités
Une relation décrit le lien entre deux entités.
Exemples :
- Un client passe des commandes
- Une commande contient des produits
- Un employé gère plusieurs clients
4. Les cardinalités
La cardinalité indique combien d’éléments d’une entité peuvent être associés à une autre.
Types de cardinalités :
- 1 → 1 : un à un
- 1 → N : un à plusieurs
- N → N : plusieurs à plusieurs
Exemples :
1 → N (le plus courant)
Un client peut passer plusieurs commandes.
Une commande appartient à un seul client.
N → N
Une commande contient plusieurs produits.
Un produit peut apparaître dans plusieurs commandes.
Ce type nécessite une table intermédiaire :
CommandesProduits
-------------------------
CommandeID
ProduitID
Quantité
5. Le schéma conceptuel (MCD)
Le Modèle Conceptuel de Données représente les entités, leurs attributs et leurs relations.
Exemple simple :
Client (ID, Nom, Email)
Commande (NumCommande, Date, ClientID)
Produit (CodeProduit, Nom, Prix)
CommandesProduits (CommandeID, ProduitID, Quantité)
6. Le schéma logique
Le schéma logique traduit le MCD en tables SQL.
CREATE TABLE Clients (
ID INT PRIMARY KEY,
Nom VARCHAR(50),
Email VARCHAR(100)
);
CREATE TABLE Commandes (
NumCommande INT PRIMARY KEY,
DateCommande DATE,
ClientID INT,
FOREIGN KEY (ClientID) REFERENCES Clients(ID)
);
CREATE TABLE Produits (
CodeProduit INT PRIMARY KEY,
Nom VARCHAR(50),
Prix DECIMAL(6,2)
);
CREATE TABLE CommandesProduits (
CommandeID INT,
ProduitID INT,
Quantité INT,
PRIMARY KEY (CommandeID, ProduitID),
FOREIGN KEY (CommandeID) REFERENCES Commandes(NumCommande),
FOREIGN KEY (ProduitID) REFERENCES Produits(CodeProduit)
);
7. Résumé
- Une entité représente un objet réel (Client, Produit…)
- Les attributs décrivent l’entité
- Les relations relient les entités entre elles
- Les cardinalités indiquent le nombre d’éléments associés
- Le MCD représente le modèle conceptuel
- Le schéma logique traduit le MCD en tables SQL