-- ALTER USER 'root'@'localhost' IDENTIFIED BY 'p';

-- CREATE scripted;
USE scripted; 

DROP TABLE Enigme;
DROP TABLE Admin;
DROP TABLE Joueur;
DROP TABLE Resoudre;
DROP TABLE Game;
DROP TABLE Contenir;
DROP TABLE GameDetail;

CREATE TABLE Enigme(
idEnigme char(5) PRIMARY KEY,
admin varchar(50) REFERENCES Admin(pseudo),
enonce varchar(250) NOT NULL,
aide varchar(250),
rappel varchar(250),
solution varchar(250) NOT NULL,
test varchar(250) NOT NULL,
tempsDeResolution numeric CHECK (tempsDeResolution >0)
);

CREATE TABLE Admin(
email varchar(50) PRIMARY KEY,
enigme varchar(5) REFERENCES Game(idGame),
pseudo varchar(50),
mdp varchar(50)
);

CREATE TABLE Joueur(
email varchar(50) PRIMARY KEY,
pseudo varchar(50),
mdp varchar(50)
);

CREATE TABLE Resoudre(
joueur varchar(50) REFERENCES Joueur(email),
enigme varchar(5) REFERENCES Enigme(idEnigme),
PRIMARY KEY(joueur, enigme)
);

CREATE TABLE Game(
idGame char(5) PRIMARY KEY
);

CREATE TABLE Contenir(
game varchar(50) REFERENCES Game(idGame),
enigme varchar(5) REFERENCES Enigme(idEnigme),
PRIMARY KEY(game, enigme)
);

CREATE TABLE GameDetail(
idGameDetail char(5),
joueur varchar(50) REFERENCES Joueur(email),
game varchar(50) REFERENCES Game(idGame),
enigme varchar(5) REFERENCES Enigme(idEnigme),
pointsObtenu numeric NOT NULL CHECK (pointsObtenu >= 0),
classement numeric NOT NULL 
CHECK (classement >= 1) ,
CHECK (classement <= 3),
tempsDeResolution numeric CHECK (tempsDeResolution >0)
);

INSERT INTO Joueur VALUE ('code@c.com','SU','RPRISE');  