diff --git a/SQL.md b/SQL.md new file mode 100644 index 0000000000000000000000000000000000000000..c2ee486d0d9ee11818a7b4c90124dff88a62aa4c --- /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