-- ============================================================
-- BASE DE DONNÉES : Liste de Courses
-- ============================================================

CREATE DATABASE IF NOT EXISTS liste_courses CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE liste_courses;

-- ------------------------------------------------------------
-- Table des livres / sources de recettes
-- ------------------------------------------------------------
CREATE TABLE sources (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nom VARCHAR(255) NOT NULL UNIQUE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ------------------------------------------------------------
-- Table des recettes
-- ------------------------------------------------------------
CREATE TABLE recettes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    saison ENUM('Hiver','Printemps','Été','Automne') NOT NULL,
    nom VARCHAR(255) NOT NULL,
    type VARCHAR(100),
    source_id INT,
    page INT,
    FOREIGN KEY (source_id) REFERENCES sources(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ------------------------------------------------------------
-- Table des magasins
-- ------------------------------------------------------------
CREATE TABLE magasins (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nom VARCHAR(100) NOT NULL UNIQUE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- Magasins par défaut
INSERT INTO magasins (nom) VALUES ('Biocoop'), ('Leclerc'), ('Autre');

-- ------------------------------------------------------------
-- Table des ingrédients d'une recette
-- ------------------------------------------------------------
CREATE TABLE ingredients (
    id INT AUTO_INCREMENT PRIMARY KEY,
    recette_id INT NOT NULL,
    quantite DECIMAL(10,2),
    mesure VARCHAR(50),
    nom VARCHAR(255) NOT NULL,
    magasin_id INT,
    extras TEXT,
    FOREIGN KEY (recette_id) REFERENCES recettes(id) ON DELETE CASCADE,
    FOREIGN KEY (magasin_id) REFERENCES magasins(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

-- ------------------------------------------------------------
-- Table des achats fréquents
-- ------------------------------------------------------------
CREATE TABLE achats_frequents (
    id INT AUTO_INCREMENT PRIMARY KEY,
    produit VARCHAR(255) NOT NULL,
    magasin_id INT,
    regulier TINYINT(1) DEFAULT 0,
    FOREIGN KEY (magasin_id) REFERENCES magasins(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
