Énoncé de l'exercice

1. Crée une base de données appelée boutique.
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
);