This repository has been archived on 2024-04-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
DeezCycle/sql/script_creation_dataset.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);