285 lines
5.6 KiB
SQL
285 lines
5.6 KiB
SQL
CREATE TABLE classement (
|
|
PRIMARY KEY (idclassement),
|
|
idclassement INTEGER AUTO_INCREMENT,
|
|
nom VARCHAR(42),
|
|
portee VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE classement_equipe (
|
|
PRIMARY KEY (idclassement),
|
|
idclassement INTEGER AUTO_INCREMENT
|
|
);
|
|
|
|
CREATE TABLE classement_individuel (
|
|
PRIMARY KEY (idclassement),
|
|
idclassement INTEGER AUTO_INCREMENT
|
|
);
|
|
|
|
CREATE TABLE equipe (
|
|
PRIMARY KEY (idequipe),
|
|
idequipe INTEGER AUTO_INCREMENT,
|
|
nom VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE est_classe (
|
|
PRIMARY KEY (idjoueur, idclassement),
|
|
idjoueur INTEGER NOT NULL,
|
|
idclassement INTEGER NOT NULL,
|
|
rang VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE est_lie_a (
|
|
PRIMARY KEY (idclassement_composee, idclassement_composante),
|
|
idclassement_composee INTEGER,
|
|
idclassement_composante INTEGER,
|
|
quantite VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE joueur (
|
|
PRIMARY KEY (idjoueur),
|
|
idjoueur INTEGER AUTO_INCREMENT,
|
|
nom VARCHAR(42),
|
|
prenom VARCHAR(42),
|
|
pseudo VARCHAR(42),
|
|
annee_nais YEAR,
|
|
email VARCHAR(80),
|
|
idequipe INTEGER NULL DEFAULT NULL
|
|
);
|
|
|
|
CREATE TABLE participe (
|
|
PRIMARY KEY (idtournoi, niveau, idjoueur),
|
|
idtournoi INTEGER NOT NULL,
|
|
niveau VARCHAR(42) NOT NULL,
|
|
idjoueur INTEGER NOT NULL,
|
|
a_joue VARCHAR(42),
|
|
est_qualifie VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE phase (
|
|
PRIMARY KEY (idtournoi, niveau),
|
|
idtournoi INTEGER AUTO_INCREMENT,
|
|
niveau VARCHAR(42) NOT NULL,
|
|
date_p DATE
|
|
);
|
|
|
|
CREATE TABLE sont_classes (
|
|
PRIMARY KEY (idequipe, idclassement),
|
|
idequipe INTEGER NOT NULL,
|
|
idclassement INTEGER NOT NULL,
|
|
rang VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE tournoi (
|
|
PRIMARY KEY (idtournoi),
|
|
idtournoi INTEGER AUTO_INCREMENT,
|
|
nom VARCHAR(42),
|
|
date_deb DATE,
|
|
date_fin DATE
|
|
);
|
|
|
|
ALTER TABLE
|
|
classement_equipe
|
|
ADD
|
|
FOREIGN KEY (idclassement) REFERENCES classement (idclassement);
|
|
|
|
ALTER TABLE
|
|
classement_individuel
|
|
ADD
|
|
FOREIGN KEY (idclassement) REFERENCES classement (idclassement);
|
|
|
|
ALTER TABLE
|
|
est_classe
|
|
ADD
|
|
FOREIGN KEY (idclassement) REFERENCES classement_individuel (idclassement);
|
|
|
|
ALTER TABLE
|
|
est_classe
|
|
ADD
|
|
FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
ALTER TABLE
|
|
est_lie_a
|
|
ADD
|
|
FOREIGN KEY (idclassement_composante) REFERENCES classement (idclassement);
|
|
|
|
ALTER TABLE
|
|
est_lie_a
|
|
ADD
|
|
FOREIGN KEY (idclassement_composee) REFERENCES classement (idclassement);
|
|
|
|
ALTER TABLE
|
|
joueur
|
|
ADD
|
|
FOREIGN KEY (idequipe) REFERENCES equipe (idequipe);
|
|
|
|
ALTER TABLE
|
|
participe
|
|
ADD
|
|
FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
ALTER TABLE
|
|
participe
|
|
ADD
|
|
FOREIGN KEY (idtournoi, niveau) REFERENCES phase (idtournoi, niveau);
|
|
|
|
ALTER TABLE
|
|
phase
|
|
ADD
|
|
FOREIGN KEY (idtournoi) REFERENCES tournoi (idtournoi);
|
|
|
|
ALTER TABLE
|
|
sont_classes
|
|
ADD
|
|
FOREIGN KEY (idclassement) REFERENCES classement_equipe (idclassement);
|
|
|
|
ALTER TABLE
|
|
sont_classes
|
|
ADD
|
|
FOREIGN KEY (idequipe) REFERENCES equipe (idequipe);
|
|
|
|
CREATE TABLE comprend (
|
|
PRIMARY KEY (idpartie, num_tour, idlancer),
|
|
idpartie INTEGER NOT NULL,
|
|
num_tour INTEGER NOT NULL,
|
|
idlancer INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE TABLE effectue (
|
|
PRIMARY KEY (rang_couleur_valeur, idjoueur, idlancer),
|
|
rang_couleur_valeur VARCHAR(42) NOT NULL,
|
|
idjoueur INTEGER NOT NULL,
|
|
idlancer INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE TABLE partie (
|
|
PRIMARY KEY (idpartie),
|
|
idpartie INTEGER AUTO_INCREMENT,
|
|
date_partie DATE,
|
|
horaire VARCHAR(42),
|
|
duree VARCHAR(42),
|
|
etat VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE tour (
|
|
PRIMARY KEY (idpartie, num_tour),
|
|
num_tour INTEGER NOT NULL,
|
|
idpartie INTEGER NOT NULL
|
|
);
|
|
|
|
ALTER TABLE
|
|
comprend
|
|
ADD
|
|
FOREIGN KEY (idpartie, num_tour) REFERENCES tour (idpartie, num_tour);
|
|
|
|
ALTER TABLE
|
|
effectue
|
|
ADD
|
|
FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
ALTER TABLE
|
|
tour
|
|
ADD
|
|
FOREIGN KEY (idpartie) REFERENCES partie (idpartie);
|
|
|
|
CREATE TABLE carte (
|
|
PRIMARY KEY (idcarte),
|
|
idcarte INTEGER AUTO_INCREMENT,
|
|
niveau VARCHAR(42),
|
|
img VARCHAR(42),
|
|
points VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE est_compose (
|
|
PRIMARY KEY (idcarte, idplateau),
|
|
idcarte INTEGER NOT NULL,
|
|
idplateau INTEGER NOT NULL,
|
|
rang VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE plateau (
|
|
PRIMARY KEY (idplateau),
|
|
idplateau INTEGER AUTO_INCREMENT,
|
|
taille VARCHAR(42)
|
|
);
|
|
|
|
ALTER TABLE
|
|
est_compose
|
|
ADD
|
|
FOREIGN KEY (idplateau) REFERENCES plateau (idplateau);
|
|
|
|
ALTER TABLE
|
|
est_compose
|
|
ADD
|
|
FOREIGN KEY (idcarte) REFERENCES carte (idcarte);
|
|
|
|
CREATE TABLE choisit_main (
|
|
PRIMARY KEY (idjoueur, num_tour),
|
|
idjoueur INTEGER NOT NULL,
|
|
num_tour INTEGER NOT NULL,
|
|
nb_de_rouge VARCHAR(42),
|
|
nb_de_jaune VARCHAR(42),
|
|
nb_de_bleu VARCHAR(42)
|
|
);
|
|
|
|
ALTER TABLE
|
|
choisit_main
|
|
ADD
|
|
FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
CREATE TABLE tente_validation (
|
|
PRIMARY KEY (num_tour, idjoueur, idcarte),
|
|
num_tour INTEGER NOT NULL,
|
|
idjoueur INTEGER NOT NULL,
|
|
idcarte INTEGER NOT NULL,
|
|
nb_tentatives VARCHAR(42)
|
|
);
|
|
|
|
ALTER TABLE
|
|
tente_validation
|
|
ADD
|
|
FOREIGN KEY (idcarte) REFERENCES carte (idcarte);
|
|
|
|
ALTER TABLE
|
|
tente_validation
|
|
ADD
|
|
FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
CREATE TABLE contrainte (
|
|
PRIMARY KEY (idcontrainte),
|
|
idcontrainte INTEGER AUTO_INCREMENT,
|
|
couleur VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE face_de_de (
|
|
PRIMARY KEY (idcontrainte),
|
|
idcontrainte INTEGER AUTO_INCREMENT,
|
|
valeur VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE serie_au_choix (
|
|
PRIMARY KEY (idcontrainte),
|
|
idcontrainte INTEGER AUTO_INCREMENT,
|
|
nombre VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE seuil_de_des (
|
|
PRIMARY KEY (idcontrainte),
|
|
idcontrainte INTEGER AUTO_INCREMENT,
|
|
valeur VARCHAR(42),
|
|
sens VARCHAR(42)
|
|
);
|
|
|
|
ALTER TABLE
|
|
face_de_de
|
|
ADD
|
|
FOREIGN KEY (idcontrainte) REFERENCES contrainte (idcontrainte);
|
|
|
|
ALTER TABLE
|
|
serie_au_choix
|
|
ADD
|
|
FOREIGN KEY (idcontrainte) REFERENCES contrainte (idcontrainte);
|
|
|
|
ALTER TABLE
|
|
seuil_de_des
|
|
ADD
|
|
FOREIGN KEY (idcontrainte) REFERENCES contrainte (idcontrainte); |