add SQL scripts for dataset creation and the beginning of data migration
This commit is contained in:
285
sql/script_creation_dataset.sql
Normal file
285
sql/script_creation_dataset.sql
Normal file
@@ -0,0 +1,285 @@
|
||||
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);
|
||||
60
sql/script_migration_data.sql
Normal file
60
sql/script_migration_data.sql
Normal file
@@ -0,0 +1,60 @@
|
||||
INSERT INTO
|
||||
`partie`(
|
||||
`idpartie`,
|
||||
`date_partie`,
|
||||
`horaire`,
|
||||
`duree`,
|
||||
`etat`
|
||||
)
|
||||
SELECT
|
||||
DISTINCT id_partie,
|
||||
dateP,
|
||||
heureP,
|
||||
ROUND(durée_secondes / 60),
|
||||
CASE
|
||||
état
|
||||
WHEN 'T' THEN 'terminée'
|
||||
WHEN 'AV' THEN 'a venir'
|
||||
WHEN 'EC' THEN 'en cours'
|
||||
END
|
||||
FROM
|
||||
donnees_fournies.instances1;
|
||||
|
||||
INSERT INTO
|
||||
`joueur`(
|
||||
`idjoueur`,
|
||||
`nom`,
|
||||
`prenom`,
|
||||
`pseudo`,
|
||||
`annee_nais`,
|
||||
`email`
|
||||
)
|
||||
SELECT
|
||||
DISTINCT id_joueur,
|
||||
nom,
|
||||
prénom,
|
||||
pseudo,
|
||||
YEAR(date_naiss),
|
||||
email
|
||||
FROM
|
||||
donnees_fournies.instances1;
|
||||
|
||||
INSERT INTO
|
||||
`contrainte`(`idcontrainte`, `couleur`)
|
||||
SELECT
|
||||
DISTINCT id_contrainte,
|
||||
couleur
|
||||
FROM
|
||||
donnees_fournies.instances2;
|
||||
|
||||
-- INSERT INTO
|
||||
-- `face_de_de`(`idcontrainte`, `valeur`)
|
||||
-- SELECT
|
||||
-- id_contrainte,
|
||||
-- valeur
|
||||
-- FROM
|
||||
-- donnees_fournies.instances2
|
||||
-- WHERE
|
||||
-- nom = 'face_de_dé'
|
||||
-- YA UN GROS PROBLEME DANS LA BASE, QUAND YA PLUSIEURS DES DIFFERENTS L'ID CONTRAINTE QUI NE PEUX ETRE MULTIPLE A CAUSE DU PRIMARY KEY NE PERMET
|
||||
-- PAS DE MODELISER LES CARTES AVEC PLUSIEURS DES DE DIFFERENTES COULEURS (CAR ILS ONT PLUSIEURS CONTRAINTES)
|
||||
Reference in New Issue
Block a user