UAA 7    Base de données

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 :

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 :

4. Les cardinalités

La cardinalité indique combien d’éléments d’une entité peuvent être associés à une autre.

Types de cardinalités :

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é