
-- MySQL dump 10.13  Distrib 5.5.27, for Win64 (x86)
--
-- Host: localhost    Database: cinema
-- ------------------------------------------------------
-- Server version	5.5.27



-- note pour l'execution, 'sur mon ordinateur personnel' dans le terminal 
-- sudo mysql --local-infile=1 -p < codemysql/basedonneee.sql  (obliger de sudo pour que ca marche sur mon ordi perso) 
-- et aussi sudo mysql -p pour juste lancer
-- comment faire tourner mon code sur workbench
-- j'ai modifier les chemins des loads data
-- pour utiliser un chemin relatif* (car chemin relatif ne marche pas dans 
-- workbench, mais fonctionne dans les fichiers de script. (il doit y avoir une option pour sur WB) 



DROP DATABASE IF EXISTS siterecette; 
CREATE DATABASE siterecette; 

DROP USER IF EXISTS 'admin'@'localhost';
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'adminpass123';
GRANT ALL PRIVILEGES ON siterecette.* TO 'admin'@'localhost';
USE siterecette;

--
-- Table structure for table acteur
--

DROP TABLE IF EXISTS Recette;
CREATE TABLE Recette (
  num_recette INT NOT NULL,
  titre_recette VARCHAR(60) NOT NULL,
  slug VARCHAR(200) NOT NULL,
  description_recette VARCHAR(1000) NOT NULL,
  photo VARCHAR(200) NOT NULL,
  publication_date DATE NOT NULL,
  temps_de_preparation INT NOT NULL
  
) ENGINE=InnoDB DEFAULT CHARSET=latin1;



--
-- Table structure for table realisateur
--

DROP TABLE IF EXISTS Tag;
CREATE TABLE Tag (
  num_tag INT NOT NULL,
  nom_tag VARCHAR(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


--
-- Table structure for table salle
--

DROP TABLE IF EXISTS Ingredient;
CREATE TABLE Ingredient (
  num_ingredient INT NOT NULL,
  nom_ingredient INT NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


--
-- Table structure for table film
--

DROP TABLE IF EXISTS Listeingredient;
CREATE TABLE Listeingredient (
  num_recette INT NOT NULL,
  num_ingredient INT NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;



--
-- Table structure for table projection
--

DROP TABLE IF EXISTS Referencetag;
CREATE TABLE Referencetag (
  num_recette INT NOT NULL,
  num_tag INT NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

DROP TABLE IF EXISTS User;
CREATE TABLE User (
  num_user INT NOT NULL,
  username VARCHAR(20) NOT NULL,
  userpassword VARCHAR(60) NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1;



--
-- CONTRAINTES
-- 
-- en utilisant les 'alter table' sinon on peut directement les specifier dans les create table
ALTER TABLE Recette
  ADD CONSTRAINT pk_recette PRIMARY KEY (num_recette);
ALTER TABLE Ingredient
  ADD CONSTRAINT pk_ingredient PRIMARY KEY (num_ingredient);
ALTER TABLE Tag
  ADD CONSTRAINT pk_tag PRIMARY KEY (num_tag);

ALTER TABLE User
  ADD CONSTRAINT pk_user PRIMARY KEY (num_user);

  
ALTER TABLE Listeingredient
  ADD CONSTRAINT fk_numrecette_ingredient FOREIGN KEY (num_recette) REFERENCES Recette (num_recette),
	ADD CONSTRAINT fk_recette_numingredient FOREIGN KEY (num_ingredient) REFERENCES Ingredient (num_ingredient);

ALTER TABLE Referencetag
  ADD CONSTRAINT fk_numrecette_tag FOREIGN KEY (num_recette) REFERENCES Recette (num_recette),
	ADD CONSTRAINT fk_recette_numtag FOREIGN KEY (num_tag) REFERENCES Tag (num_tag);

-- si besoin exemple de chargement csv

-- LOAD DATA LOCAL INFILE 'nom.csv'
-- INTO TABLE nom
-- FIELDS TERMINATED BY ','
-- ENCLOSED BY '"'
-- LINES TERMINATED BY '\n'
-- IGNORE 1 ROWS;
 -- les chemin ./filename.csv ne marche que dans le terminal avec le cli mysql via la commande $



-- select * from column;

INSERT INTO Recette (num_recette,titre_recette,slug,description_recette,photo,publication_date,temps_de_preparation)
values(1,"nomdrecette","slugdpage","descriptiondrecette","urldephoto",'2023-12-31',500),
(2,"nomdrecette","slugdpage","descriptiondrecette","urldephoto",'2023-12-31',500),
(3,"nomdrecette","slugdpage","descriptiondrecette","urldephoto",'2023-12-31',500);


-- select * from Recette;

-- INSERT INTO Tag (num_tag,nom_tag)
-- values(1,"nomdtag");


-- INSERT INTO Referencetag(num_recette, num_tag)
-- values(1,1);

-- INSERT INTO Ingredient(num_ingredient,nom_ingredient)
-- values(2,2);

-- INSERT INTO Listeingredient(num_recette,num_ingredient)
-- values(1,2);
