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);