343 lines
8.8 KiB
SQL
343 lines
8.8 KiB
SQL
START TRANSACTION;
|
|
|
|
CREATE TABLE
|
|
carte (
|
|
PRIMARY KEY (idcarte),
|
|
idcarte INTEGER NOT NULL,
|
|
niveau VARCHAR(42),
|
|
img VARCHAR(42),
|
|
points VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
choisit_main (
|
|
PRIMARY KEY (idjoueur, idpartie, num_tour),
|
|
idjoueur INTEGER NOT NULL,
|
|
idpartie INTEGER NOT NULL,
|
|
num_tour INTEGER NOT NULL,
|
|
nb_de_rouge VARCHAR(42),
|
|
nb_de_jaune VARCHAR(42),
|
|
nb_de_bleu VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
classement (
|
|
PRIMARY KEY (idclassement),
|
|
idclassement INTEGER AUTO_INCREMENT,
|
|
nom VARCHAR(42),
|
|
portee VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
classement_individuel (
|
|
PRIMARY KEY (idclassement, idjoueur),
|
|
idclassement INTEGER AUTO_INCREMENT,
|
|
idjoueur INTEGER NOT NULL,
|
|
rang INTEGER DEFAULT NULL
|
|
);
|
|
|
|
CREATE TABLE
|
|
comprend (
|
|
PRIMARY KEY (idpartie, num_tour, idlancer),
|
|
idpartie INTEGER NOT NULL,
|
|
num_tour INTEGER NOT NULL,
|
|
idlancer INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE TABLE
|
|
contrainte (
|
|
PRIMARY KEY (idcontrainte),
|
|
idcontrainte INTEGER NOT NULL,
|
|
couleur VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
de_lance (
|
|
PRIMARY KEY (idlancer, rang_couleur_valeur),
|
|
idlancer INTEGER NOT NULL,
|
|
rang_couleur_valeur VARCHAR(42) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE
|
|
effectue (
|
|
PRIMARY KEY (idjoueur, idlancer),
|
|
idjoueur INTEGER NOT NULL,
|
|
idlancer INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE TABLE
|
|
equipe (
|
|
PRIMARY KEY (idequipe),
|
|
idequipe INTEGER AUTO_INCREMENT,
|
|
nom VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
classement_equipe (
|
|
PRIMARY KEY (idclassement, idequipe),
|
|
idclassement INTEGER AUTO_INCREMENT,
|
|
idequipe INTEGER NOT NULL,
|
|
rang INTEGER DEFAULT NULL
|
|
);
|
|
|
|
CREATE TABLE
|
|
est_classe (
|
|
PRIMARY KEY (idjoueur, idclassement),
|
|
idjoueur INTEGER NOT NULL,
|
|
idclassement INTEGER NOT NULL,
|
|
rang VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
est_compose (
|
|
PRIMARY KEY (idcarte, idplateau),
|
|
idcarte INTEGER NOT NULL,
|
|
idplateau INTEGER NOT NULL,
|
|
rang VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
est_contrainte (
|
|
PRIMARY KEY (idcarte, idcontrainte),
|
|
idcarte INTEGER NOT NULL,
|
|
idcontrainte INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE TABLE
|
|
est_en_lien (
|
|
PRIMARY KEY (idclassement_1, idclassement_2),
|
|
idclassement_1 INTEGER NOT NULL,
|
|
idclassement_2 INTEGER NOT NULL,
|
|
rang VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
est_en_position (
|
|
PRIMARY KEY (idjoueur, idcarte, idpartie, num_tour),
|
|
idjoueur INTEGER NOT NULL,
|
|
idcarte INTEGER NOT NULL,
|
|
idpartie INTEGER NOT NULL,
|
|
num_tour INTEGER NOT NULL,
|
|
position VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
est_lie_a (
|
|
PRIMARY KEY (idclassement_composee, idclassement_composante),
|
|
idclassement_composee INTEGER,
|
|
idclassement_composante INTEGER,
|
|
hierarchie VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
face_de_de (
|
|
PRIMARY KEY (idcontrainte),
|
|
idcontrainte INTEGER NOT NULL,
|
|
valeur VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
joue (
|
|
PRIMARY KEY (idjoueur, idpartie),
|
|
idjoueur INTEGER NOT NULL,
|
|
idpartie INTEGER NOT NULL,
|
|
couleur_pion VARCHAR(42),
|
|
rang 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
|
|
meme_au_choix (
|
|
PRIMARY KEY (idcontrainte),
|
|
idcontrainte INTEGER NOT NULL,
|
|
nombre VARCHAR(42),
|
|
couleur VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
participe (
|
|
PRIMARY KEY (idtournoi, niveau, idjoueur),
|
|
idtournoi INTEGER,
|
|
niveau VARCHAR(42),
|
|
idjoueur INTEGER NOT NULL,
|
|
a_joue tinyint (1) DEFAULT NULL,
|
|
est_qualifie tinyint (1) DEFAULT NULL
|
|
);
|
|
|
|
CREATE TABLE
|
|
partie (
|
|
PRIMARY KEY (idpartie),
|
|
idpartie INTEGER NOT NULL,
|
|
date_partie VARCHAR(42),
|
|
horaire VARCHAR(42),
|
|
duree VARCHAR(42),
|
|
etat VARCHAR(42),
|
|
idplateau INTEGER,
|
|
idtournoi INTEGER,
|
|
niveau VARCHAR(42),
|
|
UNIQUE (idtournoi, niveau)
|
|
);
|
|
|
|
CREATE TABLE
|
|
phase (
|
|
PRIMARY KEY (idtournoi, niveau),
|
|
idtournoi INTEGER AUTO_INCREMENT,
|
|
niveau VARCHAR(42),
|
|
date_p DATE
|
|
);
|
|
|
|
CREATE TABLE
|
|
plateau (
|
|
PRIMARY KEY (idplateau),
|
|
idplateau INTEGER AUTO_INCREMENT,
|
|
taille VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
serie_au_choix (
|
|
PRIMARY KEY (idcontrainte),
|
|
idcontrainte INTEGER NOT NULL,
|
|
nombre VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
seuil_de_des (
|
|
PRIMARY KEY (idcontrainte),
|
|
idcontrainte INTEGER AUTO_INCREMENT,
|
|
valeur VARCHAR(42),
|
|
sens VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
sont_classes (
|
|
PRIMARY KEY (idequipe, idclassement),
|
|
idequipe INTEGER NOT NULL,
|
|
idclassement INTEGER NOT NULL,
|
|
rang VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
tente_validation (
|
|
PRIMARY KEY (idpartie, num_tour, idjoueur, idcarte),
|
|
idpartie INTEGER NOT NULL,
|
|
num_tour INTEGER NOT NULL,
|
|
idjoueur INTEGER NOT NULL,
|
|
idcarte INTEGER NOT NULL,
|
|
nb_tentatives VARCHAR(42)
|
|
);
|
|
|
|
CREATE TABLE
|
|
tour (
|
|
PRIMARY KEY (idpartie, num_tour),
|
|
idpartie INTEGER NOT NULL,
|
|
num_tour INTEGER NOT NULL
|
|
);
|
|
|
|
CREATE TABLE
|
|
tournoi (
|
|
PRIMARY KEY (idtournoi),
|
|
idtournoi INTEGER AUTO_INCREMENT,
|
|
nom VARCHAR(42),
|
|
date_deb DATE,
|
|
date_fin DATE
|
|
);
|
|
|
|
CREATE TABLE
|
|
valide (
|
|
PRIMARY KEY (idcontrainte, idlancer),
|
|
idcontrainte INTEGER NOT NULL,
|
|
idlancer INTEGER NOT NULL
|
|
);
|
|
|
|
ALTER TABLE choisit_main ADD FOREIGN KEY (idpartie, num_tour) REFERENCES tour (idpartie, num_tour);
|
|
|
|
ALTER TABLE choisit_main ADD FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
ALTER TABLE classement_equipe ADD FOREIGN KEY (idclassement) REFERENCES classement (idclassement);
|
|
|
|
ALTER TABLE classement_equipe ADD FOREIGN KEY (idequipe) REFERENCES equipe (idequipe);
|
|
|
|
ALTER TABLE classement_individuel ADD FOREIGN KEY (idclassement) REFERENCES classement (idclassement);
|
|
|
|
ALTER TABLE classement_individuel ADD FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
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 est_classe ADD FOREIGN KEY (idclassement) REFERENCES classement_individuel (idclassement);
|
|
|
|
ALTER TABLE est_classe ADD FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
ALTER TABLE est_compose ADD FOREIGN KEY (idplateau) REFERENCES plateau (idplateau);
|
|
|
|
ALTER TABLE est_compose ADD FOREIGN KEY (idcarte) REFERENCES carte (idcarte);
|
|
|
|
ALTER TABLE est_contrainte ADD FOREIGN KEY (idcontrainte) REFERENCES contrainte (idcontrainte);
|
|
|
|
ALTER TABLE est_contrainte ADD FOREIGN KEY (idcarte) REFERENCES carte (idcarte);
|
|
|
|
ALTER TABLE est_en_lien ADD FOREIGN KEY (idclassement_2) REFERENCES classement (idclassement);
|
|
|
|
ALTER TABLE est_en_lien ADD FOREIGN KEY (idclassement_1) REFERENCES classement (idclassement);
|
|
|
|
ALTER TABLE est_en_position ADD FOREIGN KEY (idpartie, num_tour) REFERENCES tour (idpartie, num_tour);
|
|
|
|
ALTER TABLE est_en_position ADD FOREIGN KEY (idcarte) REFERENCES carte (idcarte);
|
|
|
|
ALTER TABLE est_en_position 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 face_de_de ADD FOREIGN KEY (idcontrainte) REFERENCES contrainte (idcontrainte);
|
|
|
|
ALTER TABLE joue ADD FOREIGN KEY (idpartie) REFERENCES partie (idpartie);
|
|
|
|
ALTER TABLE joue ADD FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
ALTER TABLE joueur ADD FOREIGN KEY (idequipe) REFERENCES equipe (idequipe);
|
|
|
|
ALTER TABLE meme_au_choix ADD FOREIGN KEY (idcontrainte) REFERENCES contrainte (idcontrainte);
|
|
|
|
ALTER TABLE participe ADD FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
ALTER TABLE participe ADD FOREIGN KEY (idtournoi, niveau) REFERENCES phase (idtournoi, niveau);
|
|
|
|
ALTER TABLE partie ADD FOREIGN KEY (idtournoi, niveau) REFERENCES phase (idtournoi, niveau);
|
|
|
|
ALTER TABLE partie ADD FOREIGN KEY (idplateau) REFERENCES plateau (idplateau);
|
|
|
|
ALTER TABLE phase ADD FOREIGN KEY (idtournoi) REFERENCES tournoi (idtournoi);
|
|
|
|
ALTER TABLE serie_au_choix ADD FOREIGN KEY (idcontrainte) REFERENCES contrainte (idcontrainte);
|
|
|
|
ALTER TABLE seuil_de_des ADD FOREIGN KEY (idcontrainte) REFERENCES contrainte (idcontrainte);
|
|
|
|
ALTER TABLE sont_classes ADD FOREIGN KEY (idclassement) REFERENCES classement_equipe (idclassement);
|
|
|
|
ALTER TABLE sont_classes ADD FOREIGN KEY (idequipe) REFERENCES equipe (idequipe);
|
|
|
|
ALTER TABLE tente_validation ADD FOREIGN KEY (idcarte) REFERENCES carte (idcarte);
|
|
|
|
ALTER TABLE tente_validation ADD FOREIGN KEY (idjoueur) REFERENCES joueur (idjoueur);
|
|
|
|
ALTER TABLE tente_validation ADD FOREIGN KEY (idpartie, num_tour) REFERENCES tour (idpartie, num_tour);
|
|
|
|
ALTER TABLE tour ADD FOREIGN KEY (idpartie) REFERENCES partie (idpartie);
|
|
|
|
ALTER TABLE valide ADD FOREIGN KEY (idcontrainte) REFERENCES contrainte (idcontrainte);
|
|
|
|
COMMIT; |