Énoncé de l'exercice
2. Crée une table produit avec les colonnes suivantes :
- id_produit : entier, clé primaire, auto-incrémentée
- nom : texte (max 150 caractères), obligatoire
- description : texte long, optionnel
- prix : nombre décimal avec 2 chiffres après la virgule (ex : 19.99), obligatoire, et doit être supérieur à 0
- quantite_stock : entier, par défaut 0, ne peut pas être négatif
- reference : chaîne de 10 caractères, unique (comme un code produit)
- date_ajout : DATETIME, valeur par défaut : date et heure actuelle
Solution proposée
-- Étape 1 : création de la base de données "boutique"
CREATE DATABASE boutique;
-- Étape 2 : on utilise cette base pour la suite
USE boutique;
-- Étape 3 : création de la table "produit" avec contraintes
CREATE TABLE produit (
id_produit INT AUTO_INCREMENT, -- Identifiant unique, s’incrémente tout seul
nom VARCHAR(150) NOT NULL, -- Nom du produit, obligatoire (pas de NULL possible)
description TEXT, -- Description plus longue, facultative
prix DECIMAL(10,2) NOT NULL CHECK (prix > 0), -- Prix avec 2 décimales, obligatoire et > 0 grâce à CHECK
quantite_stock INT DEFAULT 0 CHECK (quantite_stock >= 0), -- Quantité en stock, par défaut 0, jamais négative
reference CHAR(10) UNIQUE, -- Code unique du produit, chaîne fixe de 10 caractères, sans doublons
date_ajout DATETIME DEFAULT CURRENT_TIMESTAMP, -- Date d’ajout, valeur par défaut : date et heure du moment
PRIMARY KEY (id_produit) -- Clé primaire sur id_produit
);