Exercices Recettes
Executer cette requête pour créer la base fruits_legumes
-- --------------------------------------------------------
-- Hôte: 127.0.0.1
-- Version du serveur: 8.0.30 - MySQL Community Server - GPL
-- SE du serveur: Win64
-- HeidiSQL Version: 12.1.0.6537
-- --------------------------------------------------------
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=Undetermined error: @@CHARACTER_SET_CLIENT */;
/*!40101 SET NAMES utf8 */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=Undetermined error: @@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
-- Listage de la structure de la base pour fruits_legumes
CREATE DATABASE IF NOT EXISTS `fruits_legumes` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `fruits_legumes`;
-- Listage de la structure de table fruits_legumes. fruits
CREATE TABLE IF NOT EXISTS `fruits` (
`id` int NOT NULL AUTO_INCREMENT,
`nom` varchar(255) DEFAULT NULL,
`couleur` varchar(255) DEFAULT NULL,
`poids_moyen` float DEFAULT NULL,
`calories` float DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=37 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
-- Listage des données de la table fruits_legumes.fruits : ~36 rows (environ)
INSERT IGNORE INTO `fruits` (`id`, `nom`, `couleur`, `poids_moyen`, `calories`) VALUES
(1, 'Pomme', 'Rouge', 0.1, 52),
(2, 'Banane', 'Jaune', 0.15, 89),
(3, 'Orange', 'Orange', 0.2, 47),
(4, 'Fraise', 'Rouge', 0.02, 33),
(5, 'Abricot', 'Orange', 0.05, 48),
(6, 'Ananas', 'Marron', 1, 50),
(7, 'Avocat', 'Vert', 0.2, 160),
(8, 'Cassis', 'Noir', 0.01, 63),
(9, 'Cerise', 'Rouge', 0.01, 50),
(10, 'Citron', 'Jaune', 0.15, 29),
(11, 'Clémentine', 'Orange', 0.08, 47),
(12, 'Coing', 'Jaune', 0.3, 57),
(13, 'Datte', 'Marron', 0.02, 282),
(14, 'Figue', 'Violet', 0.05, 74),
(15, 'Framboise', 'Rouge', 0.01, 53),
(16, 'Grenade', 'Rouge', 0.2, 83),
(17, 'Groseille', 'Rouge', 0.01, 56),
(18, 'Kiwi', 'Marron', 0.07, 61),
(19, 'Litchi', 'Rose', 0.02, 66),
(20, 'Mandarine', 'Orange', 0.08, 53),
(21, 'Mangue', 'Orange', 0.3, 60),
(22, 'Melon', 'Vert', 1, 34),
(23, 'Mirabelle', 'Jaune', 0.02, 67),
(24, 'Mûre', 'Noir', 0.01, 43),
(25, 'Myrtille', 'Bleu', 0.01, 57),
(26, 'Nectarine', 'Orange', 0.1, 44),
(27, 'Noix de coco', 'Marron', 1, 354),
(28, 'Olive', 'Vert', 0.02, 115),
(29, 'Pamplemousse', 'Jaune', 0.3, 42),
(30, 'Papaye', 'Orange', 1, 43),
(31, 'Pastèque', 'Vert', 2, 30),
(32, 'Pêche', 'Orange', 0.15, 39),
(33, 'Poire', 'Vert', 0.2, 57),
(34, 'Pomelo', 'Jaune', 0.25, 38),
(35, 'Prune', 'Violet', 0.04, 46),
(36, 'Raisin', 'Violet', 0.02, NULL);
-- Listage de la structure de table fruits_legumes. legumes
CREATE TABLE IF NOT EXISTS `legumes` (
`id` int NOT NULL AUTO_INCREMENT,
`nom` varchar(255) DEFAULT NULL,
`couleur` varchar(255) DEFAULT NULL,
`poids_moyen` float DEFAULT NULL,
`calories` float DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=35 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
-- Listage des données de la table fruits_legumes.legumes : ~34 rows (environ)
INSERT IGNORE INTO `legumes` (`id`, `nom`, `couleur`, `poids_moyen`, `calories`) VALUES
(1, 'Carotte', 'Orange', 0.1, 41),
(2, 'Brocoli', 'Vert', 0.3, 34),
(3, 'Pomme de terre', 'Marron', 0.2, NULL),
(4, 'Tomate', 'Rouge', 0.15, NULL),
(5, 'Artichaut', 'Vert', 0.5, 47),
(6, 'Asperge', 'Vert', 0.1, 20),
(7, 'Aubergine', 'Violet', 0.2, 25),
(8, 'Betterave', 'Rouge', 0.3, 43),
(9, 'Blette', 'Vert', 0.3, 19),
(10, 'Brocoli', 'Vert', 0.3, 34),
(11, 'Carotte', 'Orange', 0.1, 41),
(12, 'Céleri', 'Vert', 0.4, 16),
(13, 'Champignon', 'Marron', 0.05, 22),
(14, 'Chou-fleur', 'Blanc', 1, 25),
(15, 'Chou de Bruxelles', 'Vert', 0.02, 43),
(16, 'Concombre', 'Vert', 0.2, 15),
(17, 'Courgette', 'Vert', 0.3, 17),
(18, 'Échalote', 'Marron', 0.05, 72),
(19, 'Endive', 'Blanc', 0.2, 17),
(20, 'Épinard', 'Vert', 0.2, 23),
(21, 'Fenouil', 'Vert', 0.4, 31),
(22, 'Haricot vert', 'Vert', 0.05, 31),
(23, 'Laitue', 'Vert', 0.3, 15),
(24, 'Maïs', 'Jaune', 1, 86),
(25, 'Navet', 'Blanc', 0.2, 28),
(26, 'Oignon', 'Marron', 0.1, 40),
(27, 'Panais', 'Blanc', 0.3, 75),
(28, 'Petit pois', 'Vert', 0.01, 81),
(29, 'Poireau', 'Vert', 0.3, NULL),
(30, 'Poivron', 'Rouge', 0.2, NULL),
(31, 'Pomme de terre', 'Marron', 0.2, NULL),
(32, 'Potiron', 'Orange', 2, NULL),
(33, 'Radis', 'Rouge', 0.02, NULL),
(34, 'Tomate', 'Rouge', 0.15, NULL);
/*!40103 SET TIME_ZONE=IFNULL(@OLD_TIME_ZONE, 'system') */;
/*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
/*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;
ajouter la table cereales
CREATE TABLE cereales (
id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(255),
couleur VARCHAR(255),
poids_moyen FLOAT,
calories INT
);
INSERT INTO cereales (nom, couleur, poids_moyen, calories)
VALUES
('Blé', 'Brun', 0.03, 340),
('Avoine', 'Brun clair', 0.03, 389),
('Orge', 'Brun', 0.03, 354),
('Maïs', 'Jaune', 0.3, 365),
('Riz', 'Blanc', 0.02, 130),
('Seigle', 'Brun foncé', 0.03, 335),
('Millet', 'Jaune', 0.02, 378),
('Sorgho', 'Rouge', 0.03, 329),
('Quinoa', 'Blanc', 0.02, 368),
('Amarante', 'Rouge', 0.02, 371);
Exercice 1:
Ajouter le soja dans la table céréales avec un requête en cherchant les infos sur internet.
En suite utilisez cette reqûete pour créer la table recettes
CREATE TABLE recettes (
id INT AUTO_INCREMENT PRIMARY KEY,
nom VARCHAR(255),
instructions TEXT,
fruit_id INT,
legume_id INT,
cereale_id INT,
FOREIGN KEY (fruit_id) REFERENCES fruits(id),
FOREIGN KEY (legume_id) REFERENCES legumes(id),
FOREIGN KEY (cereale_id) REFERENCES cereales(id)
);
Dans cet exemple, la table recettes a des champs pour le nom de la recette et les instructions pour la préparer. Elle a également des champs pour les clés étrangères fruit_id, legume_id et cereale_id qui font référence aux tables fruits, legumes et céréales, respectivement. Cela vous permet d’associer chaque recette à un fruit, un légume et une céréale en utilisant les clés étrangères.
Vous pouvez ensuite insérer des données dans la table recettes en spécifiant les valeurs pour les champs nom, instructions, fruit_id, legume_id et cereale_id. Par exemple:
INSERT INTO recettes (nom, instructions, fruit_id, legume_id, cereale_id)
VALUES
('Salade de fruits et légumes', 'Couper les fruits et légumes en morceaux et mélanger dans un bol.', 1, 2, 3),
('Ragoût de légumes et céréales', 'Faire cuire les légumes et les céréales dans une casserole avec du bouillon.', 4, 5, 6);
En faisant vous devriez voous apercevoir d'un problème de logique dans la table fruits_legumes.
Exercices 2:
Créer une nouvelle base de données nommée recette
Trouver un moyen d'Insérer le contenu des tables fruits ,legumes et céréales dans la nouvelle table aliments qui contiendra tous les aliments .
Enfin créer la requête pour créer la table recette avec les bonnes relations pour que l'on puisse composer des recettes avec des aliments
la table recette doit avoir les champs id, nom, description
Ajouter dans la table recette des recettes de votre choix
break news: vous devrez surement ajouter une table relationelle avec des clefs étrangères.
