From ca9ae6b094d64f66a0e7be2ba9dd76cba9afd3e2 Mon Sep 17 00:00:00 2001
From: "florian.delbe.etu" <99052797+Nitorglycerine@users.noreply.github.com>
Date: Sun, 17 Mar 2024 23:25:23 +0100
Subject: [PATCH] doc SQL

---
 SQL.md | 312 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 312 insertions(+)
 create mode 100644 SQL.md

diff --git a/SQL.md b/SQL.md
new file mode 100644
index 0000000..c2ee486
--- /dev/null
+++ b/SQL.md
@@ -0,0 +1,312 @@
+# TABLES ET REQUETES DU PROJET
+
+1. [INGREDIENT](#ingredient)
+2. [PATES A PIZZA](#pate)
+3. [PIZZA](#pizza)
+4. [COMMANDE](#commande)
+
+## INFORMATION IMPORTANTES
+
+dans ce texte, tous les ??? sont les valeur que cous donnez a la base de donnée
+et tout les !!! sont les nom de colonnes dans la table sql
+## INGREDIENT
+
+### TABLE
+
+    id int
+    nom text
+    prix float
+    
+    clé primaire : id
+    clé étrangère : X
+
+### REQUETE
+Création de la table
+
+    ```sql
+    CREATE TABLE ingredient(id INT PRIMARY KEY, nom TEXT, prix FLOAT);
+    ```
+
+Sélectionner tout les ingédients
+
+    ```sql
+    SELECT id,nom,prix FROM ingredient;
+    ```
+
+Sélectionner un ingredient (dans le programme on le fait principalement avec l'id)
+
+    ```sql
+    SELECT id,nom,prix FROM ingredient WHERE id= ???;
+    ```
+
+ajouter un ingredient
+
+    ```sql
+    INSERT INTO ingredient (id, nom, prix) VALUES (???, ???, ???);
+    ```
+
+retirer un ingredient
+
+    ```sql
+    DELETE FROM ingredient WHERE id = ???;
+    ```
+
+modifier un ingredient
+
+    ```sql
+    UPDATE ingredient SET !!! = ??? WHERE id=idINGREDIENT;
+    ```
+
+## PATE
+
+### TABLE
+
+    id INT
+    nom TEXT
+
+    clé primaire: id
+    clé étrangère : X
+
+### REQUETE
+
+création de la table
+
+    ```sql
+    CREATE TABLE pate (id INT PRIMARY KEY, nom TEXT UNIQUE);
+    ```
+
+sélectionner toutes les pates
+
+    ```sql
+    SELECT nom FROM pate;
+    ```
+
+Sélectionner une pate par son id
+
+    ```sql
+    SELECT nom FROM pate WHERE id = ?;
+    ```
+
+Ajouter d'une pate
+
+    ```sql 
+    INSERT INTO pate (id, nom) VALUES (???, ???);
+    ```
+
+Supprimer une pate
+
+    ```sql
+    DELETE FROM pate WHERE id = ???;
+    ```
+
+Modifier une pate
+
+    ```sql
+    UPDATE pate SET !!!=??? WHERE id=idPATE
+    ```
+
+## PIZZA
+
+le stockage des pizzas est divisé en 2 tables:
+la table pizza qui contient l'id ,le prix ,le nom ,la pate de la pizza 
+et la table pizza_ingredients qui contient un couple id_pizza et id_ingredient
+
+### TABLE
+
+    id INT
+    nom TEXT
+    pate_id INT
+    prix FLOAT
+
+    clé primaire: id
+    clé étrangère : pate_id sur la clé primaire de pate
+
+### REQUETE
+
+Création de la table
+
+    ```sql
+    CREATE TABLE pizza (id INT PRIMARY KEY, nom TEXT UNIQUE, pate_id INT, prix FLOAT, FOREIGN KEY (pate_id) REFERENCES pate(id));
+    ```
+
+Sélectionner toutes les pizza 
+
+    ```sql
+    SELECT id, nom, pate_id, prix FROM pizza;
+    ```
+
+Sélectionner une pizza
+
+    ```sql
+    SELECT id, nom, pate_id, prix FROM pizza WHERE id=???;
+    ```
+
+Ajouter une pizza
+
+    ```sql
+    INSERT INTO pizza (id, nom, pate_id, prix) VALUES (???, ???, ???, ???);
+    ```
+
+Supprimer une pizza
+
+    ```sql
+    DELETE FROM pizza WHERE id = ?;
+    ```
+
+Modifier une pizza;
+
+    ```sql
+    UPDATE pizza SET !!!=??? WHERE id=idPIZZA
+    ```
+
+## PIZZA INGREDIENT
+
+### TABLE
+
+    id_pizza INT
+    id_ingredient INT
+\
+clé primaire: id_pizza,id_ingredient\
+\
+clé étrangère : \
+id_pizza sur la clé primaire de pizza\
+id_ingredient sur la clé primaire de ingredient
+
+### REQUETE
+
+Création de la table 
+
+    ```sql
+    CREATE TABLE pizza_ingredient (id_pizza INT, id_ingredient INT, PRIMARY KEY (id_pizza, id_ingredient), FOREIGN KEY (id_pizza) REFERENCES pizza(id) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (id_ingredient) REFERENCES ingredient(id) ON UPDATE CASCADE ON DELETE CASCADE);
+    ```
+
+Sélectionner tout les couples 
+
+    ```sql
+    SELECT id_pizza,id_ingredient FROM pizza_ingredient ;
+    ```
+
+Sélectionner un couple particulier( peu d'intéret )
+
+    ```sql
+    SELECT id_pizza,id_ingredient FROM pizza_ingredient WHERE id_pizza = ??? AND id_ingredient = ???;
+    ```
+
+Ajouter un élément (ce qui revient a ajouter un ingrédient sur une pizza)
+
+    ```sql
+    INSERT INTO pizza_ingredient(id_pizza,id_ingredient) VALUES (???,???);
+    ```
+
+Supprimer un élément (ce qui revient a enlever un ingrédient d'une pizza)
+
+    ```sql
+    DELETE FROM pizza_ingredient WHERE id_pizza = ? AND ingredient_id = ?;
+    ```
+
+Modifier un élément (remplacer un ingrédient par un autre )
+
+    ```sql
+    UPDATE pizza_ingrédient SET !!!=??? WHERE id_pizza=idPIZZA AND id_ingredient=idINGREDIENT ;
+    ```
+
+## COMMANDE
+
+    tout comme pizza ,la table commande est divisé en 2: \
+    une table commande qui contient l'id de la commande ,le prix ,le détenteur de la commande ,la date de la commande\
+    une table commande_pizza qui contient un couple id commande et id d'une pizza de la commande\
+
+### TABLE
+
+    id INT
+    prix FLOAT
+    détenteur TEXT
+    date DATE
+
+### REQUETE
+
+Création de la table
+
+    ```sql
+    CREATE TABLE commande (id INT PRIMARY KEY, utilisateur TEXT, datecommande DATE, prix REAL);
+    ```
+
+Sélectionner toutes les commandes 
+
+    ```sql
+    SELECT id, utilisateur ,datecommande,prix FROM commande;
+    ```
+
+Sélectionner une commande en particuler 
+
+    ```sql
+    SELECT id, utilisateur ,datecommande,prix FROM commande WHERE id= ???;
+    ```
+
+Ajouter une commande 
+
+    ```sql
+    INSERT INTO commande (id, utilisateur, datecommande, prix) VALUES (???, ???, ???, ???);
+    ```
+
+Supprimer une commande
+
+    ```sql
+    DELETE FROM commande WHERE id = ?;
+    ```
+
+Modifier une commande
+
+    ```sql
+    UPDATE commande SET !!! = ??? WHERE id = idCOMMANDE;
+    ```
+
+## COMMANDE_PIZZA
+
+### TABLE
+
+    id_commande INT
+    id_pizza INT
+\
+clé primaire: id_commande,id_pizza\
+clé étrangère: \
+id_commande sur la colonne id de commande\
+id_pizza sur ma colonne id de pizza
+
+### REQUETE
+
+Création de la table
+
+    ```sql
+    CREATE TABLE commande_pizza (id_commande INT, id_pizza INT, FOREIGN KEY (id_commande) REFERENCES commande(id) ON UPDATE CASCADE ON DELETE CASCADE, FOREIGN KEY (id_pizza) REFERENCES pizza(id) ON UPDATE CASCADE ON DELETE CASCADE);
+    ```
+
+Sélectionner tous les éléments  :
+
+    ```sql
+    SELECT id_commande,id_pizza FROM commande_pizza;
+    ```
+
+Sélectionner un élément de la table
+
+    ```sql
+    SELECT id_commande,id_pizza FROM commande_pizza;
+    ```
+
+ajouter une élément (ce qui revient a ajouter une pizza dans une commande)
+
+    ```sql
+    INSERT INTO commande_pizza (id_commande, id_pizza) VALUES (???, ???);
+    ```
+
+supprimer un élément (ce qui revient a enlever une pizza d'une commande)
+
+    ```sql
+    DELETE FROM commande_pizza WHERE id_commande = ??? AND id_pizza = ???;
+    ```
+
+modifier un élément (ce qui revient a remplacer une pizza dans une commande)
+
+    ```sql
+    UPDATE commande_pizza SET !!!=??? WHERE id_pizza=idPIZZA AND id_commande=idCOMMANDE ;
+    ```
\ No newline at end of file
-- 
GitLab