Kaynağa Gözat

Amélioration requete sql création base

Arthur Brandao 5 yıl önce
ebeveyn
işleme
ec14533578
1 değiştirilmiş dosya ile 13 ekleme ve 7 silme
  1. 13 7
      src/microfolie/db/MicrofolieDatabase.java

+ 13 - 7
src/microfolie/db/MicrofolieDatabase.java

@@ -33,8 +33,10 @@ public class MicrofolieDatabase extends DatabaseManager {
 		create.put("Ecole", "CREATE TABLE Ecole ("
 				+ "ID BIGINT NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,"
 				+ "LIBELLE VARCHAR(250) NOT NULL,"
-				+ "VILLE BIGINT REFERENCES Ville(ID),"
-				+ "NIVEAU BIGINT REFERENCES Niveau(ID))");
+				+ "VILLE BIGINT,"
+				+ "NIVEAU BIGINT,"
+				+ "CONSTRAINT fk_ecole_ville FOREIGN KEY (VILLE) REFERENCES Ville(ID),"
+				+ "CONSTRAINT fk_ecole_niveau FOREIGN KEY (NIVEAU) REFERENCES Niveau(ID))");
 		create.put("Usager", "CREATE TABLE Usager ("
 				+ "ID BIGINT NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,"
 				+ "NOM VARCHAR(250) NOT NULL,"
@@ -46,13 +48,17 @@ public class MicrofolieDatabase extends DatabaseManager {
 				+ "CODE VARCHAR(4) NOT NULL,"
 				+ "SCOLAIRE BOOLEAN NOT NULL,"
 				+ "DESCRIPTION VARCHAR(250) NOT NULL,"
-				+ "VILLE BIGINT REFERENCES Ville(ID),"
-				+ "ECOLE BIGINT REFERENCES Ecole(ID))");
+				+ "VILLE BIGINT,"
+				+ "ECOLE BIGINT,"
+				+ "CONSTRAINT fk_usager_ville FOREIGN KEY (VILLE) REFERENCES Ville(ID),"
+				+ "CONSTRAINT fk_usager_ecole FOREIGN KEY (ECOLE) REFERENCES Ecole(ID))");
 		create.put("Frequentation", "CREATE TABLE Frequentation ("
 				+ "ID BIGINT NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY,"
-				+ "ESPACE BIGINT REFERENCES Espace(ID),"
-				+ "USAGER BIGINT REFERENCES Usager(ID),"
-				+ "DATE DATE NOT NULL)");
+				+ "ESPACE BIGINT,"
+				+ "USAGER BIGINT,"
+				+ "DATE DATE NOT NULL,"
+				+ "CONSTRAINT fk_frequentation_espace FOREIGN KEY (ESPACE) REFERENCES Espace(ID),"
+				+ "CONSTRAINT fk_frequentation_usager FOREIGN KEY (USAGER) REFERENCES Usager(ID))");
 	}
 	
 	private static void iniDrop() {