📘 Chapitre 5 – Écrire un script SQL de création complet
1. 🎯 Objectif pédagogique
Être capable de rédiger un script SQL complet pour créer une base de données relationnelle (tables, clés, contraintes) en une seule exécution.
2. 📚 Concepts abordés
- Instruction
CREATE DATABASE
- Définition et sélection d’une base avec
USE
- Instructions multiples dans un script (
CREATE TABLE
) - Ajout de contraintes d’intégrité (
PRIMARY KEY
,FOREIGN KEY
) - Vérification de la cohérence du script
3. 🧠 Explication théorique
Un script SQL permet d’exécuter plusieurs commandes en une seule fois afin de construire une base complète. Il doit respecter l’ordre suivant :
- Créer la base de données.
- Activer la base avec
USE
. - Créer les tables dans l’ordre logique (tables parents avant les enfants).
- Ajouter les contraintes pour lier les tables entre elles.
Exemple de base :
CREATE DATABASE BlogDB;
USE BlogDB;
CREATE TABLE Utilisateur (
id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE,
mot_de_passe VARCHAR(255) NOT NULL
);
4. 🛠 Tutoriel pratique
Résumé du travail : Rédiger un script SQL complet pour le blog (Utilisateurs, Articles, Commentaires).
Étape 1 : Créer la base
CREATE DATABASE BlogDB;
USE BlogDB;
Étape 2 : Créer les tables
CREATE TABLE Utilisateur (
id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE,
mot_de_passe VARCHAR(255) NOT NULL
);
CREATE TABLE Article (
id INT AUTO_INCREMENT PRIMARY KEY,
titre VARCHAR(150) NOT NULL,
contenu TEXT NOT NULL,
date_pub DATE,
id_utilisateur INT,
FOREIGN KEY (id_utilisateur) REFERENCES Utilisateur(id)
);
CREATE TABLE Commentaire (
id INT AUTO_INCREMENT PRIMARY KEY,
contenu TEXT NOT NULL,
auteur VARCHAR(100),
date_commentaire DATE,
id_article INT,
FOREIGN KEY (id_article) REFERENCES Article(id)
);
Étape 3 : Vérifier le script
- Exécuter le script dans phpMyAdmin ou via MySQL CLI.
-
Vérifier la présence des tables :
SHOW TABLES;
Étape 4 : Tester l’insertion
-
Insérer un utilisateur test :
INSERT INTO Utilisateur (nom, email, mot_de_passe) VALUES ('Alice', 'alice@test.com', '1234');
5. 🧾 Résumé et points-clés
- Un script SQL complet permet de créer la structure d’une base en un clic.
- L’ordre de création des tables doit respecter les dépendances.
- Les tests d’insertion garantissent la validité de la structure.