CREATE DATABASE IF NOT EXISTS `JEUX_VIDEO` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `JEUX_VIDEO`;

CREATE TABLE `CONSOLE` (
  `nom` VARCHAR(42),
  `producteur` VARCHAR(42),
  `date_sortie_console` VARCHAR(42),
  PRIMARY KEY (`nom`)
) ;

CREATE TABLE `EXISTE_SUR` (
  `code_produit` VARCHAR(42),
  `nom` VARCHAR(42),
  `date_sortie_jeux` VARCHAR(42),
  PRIMARY KEY (`code_produit`, `nom`)
) ;

CREATE TABLE `JEUX` (
  `code_produit` VARCHAR(42),
  `titre` VARCHAR(42),
  `genre` VARCHAR(42),
  `developpeur` VARCHAR(42),
  PRIMARY KEY (`code_produit`)
);

CREATE TABLE `A_NOTE` (
  `code_produit` VARCHAR(42),
  `nom_joueur` VARCHAR(42),
  `date_notation` DATE,
   `note_joueur` INTEGER ,
  PRIMARY KEY (`code_produit`, `nom_joueur`)
) ;

CREATE TABLE `JOUEURS` (
  `nom_joueur` VARCHAR(42),
  `prenom_joueur` VARCHAR(42),
  `mot_de_passe` VARCHAR(42),
  PRIMARY KEY (`nom_joueur`)
) ;

ALTER TABLE `EXISTE_SUR` ADD FOREIGN KEY (`nom`) REFERENCES `CONSOLE` (`nom`);
ALTER TABLE `EXISTE_SUR` ADD FOREIGN KEY (`code_produit`) REFERENCES `JEUX` (`code_produit`);
ALTER TABLE `A_NOTE` ADD FOREIGN KEY (`nom_joueur`) REFERENCES `JOUEURS` (`nom_joueur`);
ALTER TABLE `A_NOTE` ADD FOREIGN KEY (`code_produit`) REFERENCES `JEUX` (`code_produit`);

/* remplissage de la base  */

INSERT INTO JEUX (code_produit,titre,developpeur,genre) VALUES 
('5026555256445'	, 'Bioshock Infinite',	'2K Games',	'FPS'),
('711719454113'	, 'Uncharted 4'	  	,'Sony'	,'Aventure'), 
('45496420055'	 , 'The Legend of Zelda' 	,'Nintendo','Aventure'),
('711719330103'	,'The Last of Us'	,'Naughty Dog'	,'Survival-horror'),
('45496420864',	'Super Mario ,Odyssey'	,'Nintendo', 'Plates-formes'),
('5030931102127'	,'Portal 2' ,'Software',	'Enigme'),
('711719452632'	,'Persona 5 Royal','Atlus'	,'RPG'),	
('45496420246'	,'Mario Kart 8 : Deluxe'	,'Nintendo'	,'Course'),	
('5026555259987',	'Grand Theft Auto V'	,'Rockstar',	'Action'),	
('5026555258067'	,'Grand Theft Auto V'	,'Rockstar',	'Action'),	
('711719357773',	'God of War'	,'Sony'	,'Beat\'em\'All'),	
('502555245869',	'Bioshock'	,'2K Games',	'FPS'),
('93155143524'	 , 'Skyrim'	,'Softworks',	'Aventure');

INSERT INTO CONSOLE (nom , producteur , date_sortie_console) VALUES 
( 'Xbox 360' , 'Microsoft' , 'nov-13' ) ,
( 'Switch' , 'Nintendo' , 'mars-17') ,
( 'PS 4' , 'Sony' , 'nov-13');

INSERT INTO JOUEURS ( nom_joueur , prenom_joueur , mot_de_passe ) VALUES
('A' , 'AA' , 'AAA' ) ,
('B' , 'BB' , 'BBB' ) ,
('C' , 'CC' , 'CCC' ) ,
('D' , 'DD' , 'DDD' ) ,
('E' , 'EE' , 'EEE' ) ;

INSERT INTO EXISTE_SUR (code_produit , nom , date_sortie_jeux ) VALUES
('5026555256445'	, 'Xbox 360', 'mars-13') ,
('711719454113'	,'PS 4'	,	'mai-16') ,
('45496420055'	,'Switch' 	,	'mars-17') ,
('711719330103'	,'PS 4'	,'juin-20'),
('45496420864',	'Switch'	,'oct-17') ,
('5030931102127'	,'Xbox 360' ,	'avr-11') ,
('711719452632'	,'PS 4',	'mars-20'),
('45496420246'	,'Switch'	,'avr-17'),
('5026555259987',	'PS 4'	,'nov-14'),
('5026555258067'	,'Xbox 360'	,'sept-13'),
('711719357773',	'PS 4'	,'avr-18'),
('502555245869',	'Xbox 360'	,'aout-07'),
('93155143524'	 , 'Xbox 360'	,	'nov-11');

INSERT INTO a_note ( code_produit , date_notation , nom_joueur , note_joueur ) VALUES
( '5026555258067' , '2014-10-05' , 'B' , 17 ),
( '502555245869' , '2018-10-18' , 'A' , 18 ),
( '711719454113' , '2012-05-18' , 'B' , 16 ),
( '93155143524' , '2005-12-18' , 'A' , 19 ),
( '45496420055' , '2013-05-20' , 'C' , 17 ),
( '5026555258067' , '2014-04-17' , 'A' , 17 ),
( '502555245869' , '2003-09-18' , 'C' , 15 ),
( '711719454113' , '2015-06-15' , 'C' , 12 ),
( '93155143524' , '2016-10-17' , 'B' , 14 ),
( '45496420055' , '2018-10-12' , 'B' , 19 ),
( '5026555258067' , '2015-02-11' , 'C' , 14 ),
( '502555245869' , '2012-10-10' , 'B' , 17 ),
( '711719454113' , '2010-05-18' , 'D' , 15 ),
( '93155143524' , '2012-10-18' , 'C' , 17 ),
('711719454113'	,'2012-10-18'	,	'E' , 16) ,
('45496420055'	,'2012-10-18' 	,	'D' , 16) ,
('711719330103'	,'2012-10-18'	,'E' , 16) ,
('45496420864',	'2012-10-18'	,'E' , 15) ,
('5030931102127'	,'2012-10-18' ,	'D' , 16) ,
('711719452632'	,'2012-10-18',	'E' , 17) ,
('45496420246'	,'2012-10-18'	,'E' , 13) ,
('5026555259987',	'2012-10-18'	,'D' , 16) ,
('5026555258067'	,'2012-10-18'	,'E' , 12) ,
('711719357773',	'2012-10-18'	,'D' , 16) ,
('502555245869',	'2012-10-18'	,'E' , 14) ,
('93155143524'	 , '2012-10-18'	,	'E' , 16) ;