You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.3 KiB
60 lines
1.3 KiB
-- ALTER USER 'root'@'localhost' IDENTIFIED BY 'p';
|
|
|
|
-- CREATE DATABASE scripted;
|
|
-- USE scripted;
|
|
|
|
-- DROP TABLE Contenir;
|
|
-- DROP TABLE Participer;
|
|
-- DROP TABLE Resoudre;
|
|
-- DROP TABLE Enigme;
|
|
-- DROP TABLE Partie;
|
|
-- DROP TABLE Utilisateur;
|
|
|
|
CREATE TABLE Utilisateur(
|
|
email varchar(50) PRIMARY KEY,
|
|
pseudo varchar(50),
|
|
mdp varchar(50),
|
|
estAdmin boolean
|
|
);
|
|
|
|
CREATE TABLE Enigme(
|
|
id integer PRIMARY KEY AUTOINCREMENT,
|
|
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),
|
|
points numeric CHECK (points >0)
|
|
);
|
|
|
|
CREATE TABLE Partie(
|
|
id integer PRIMARY KEY AUTOINCREMENT,
|
|
dateDebut date NOT NULL
|
|
);
|
|
|
|
CREATE TABLE Resoudre(
|
|
joueur varchar(50) REFERENCES Utilisateur(email),
|
|
enigme int REFERENCES Enigme(id),
|
|
partie int REFERENCES Partie(id),
|
|
classement int CHECK (classement >0),
|
|
indexEnigme int CHECK (indexEnigme >0),
|
|
temps numeric CHECK (temps >0),
|
|
enMulti boolean,
|
|
PRIMARY KEY(joueur, enigme, partie)
|
|
);
|
|
|
|
CREATE TABLE Contenir(
|
|
partie int REFERENCES Partie(id),
|
|
enigme int REFERENCES Enigme(id),
|
|
indexEnigme numeric UNIQUE,
|
|
PRIMARY KEY(partie, enigme)
|
|
);
|
|
|
|
CREATE TABLE Participer(
|
|
partie int REFERENCES Partie(id),
|
|
joueur varchar(50) REFERENCES Joueur(email),
|
|
etat int CHECK (etat IN (0,1,2)),
|
|
PRIMARY KEY(partie, joueur)
|
|
);
|