add constraint to foreign keys
This commit is contained in:
parent
f8c47ca81f
commit
59f1f40e16
1 changed files with 95 additions and 31 deletions
126
tables.sql
126
tables.sql
|
@ -74,24 +74,31 @@ CREATE TABLE Evenement(
|
||||||
CREATE TABLE Congres(
|
CREATE TABLE Congres(
|
||||||
idCongres INT NOT NULL,
|
idCongres INT NOT NULL,
|
||||||
nb_inscriptions INT NOT NULL,
|
nb_inscriptions INT NOT NULL,
|
||||||
class VARCHAR,
|
classe VARCHAR(15),
|
||||||
FOREIGN KEY (idCongres) REFERENCES Evenement(idEvenement) ON DELETE CASCADE,
|
PRIMARY KEY (idCongres),
|
||||||
PRIMARY KEY (idCongres)
|
CONSTRAINT fk_congres
|
||||||
|
FOREIGN KEY (idCongres)
|
||||||
|
REFERENCES Evenement(idEvenement)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Ronan
|
-- Ronan
|
||||||
CREATE TABLE Labo_externe(
|
CREATE TABLE Labo_externe(
|
||||||
idLabo INT NOT NULL,
|
idLabo SERIAL PRIMARY KEY,
|
||||||
nom VARCHAR,
|
nom VARCHAR(255),
|
||||||
pays VARCHAR,
|
pays VARCHAR(255),
|
||||||
PRIMARY KEY(idLabo)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
-- Ronan
|
||||||
CREATE TABLE Journee_Portes_Ouvertes(
|
CREATE TABLE Journee_Portes_Ouvertes(
|
||||||
idPorteOuverte INT NOT NULL,
|
idPorteOuverte INT NOT NULL,
|
||||||
FOREIGN KEY (idPorteOuverte) REFERENCES Evenement(idEvenement) ON DELETE CASCADE,
|
PRIMARY KEY (idPorteOuverte),
|
||||||
PRIMARY KEY (idPorteOuverte)
|
CONSTRAINT fk_jpo
|
||||||
|
FOREIGN KEY (idPorteOuverte)
|
||||||
|
REFERENCES Evenement(idEvenement)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Nathan
|
-- Nathan
|
||||||
|
@ -135,45 +142,86 @@ CREATE TABLE Projet (
|
||||||
CREATE TABLE Participe(
|
CREATE TABLE Participe(
|
||||||
idProjet INT NOT NULL,
|
idProjet INT NOT NULL,
|
||||||
idScientifique INT NOT NULL,
|
idScientifique INT NOT NULL,
|
||||||
FOREIGN KEY (idProjet) REFERENCES Projet(idProjet) ON DELETE CASCADE,
|
PRIMARY KEY (idProjet, idScientifique),
|
||||||
FOREIGN KEY (idScientifique) REFERENCES Scientifique(idScientifique) ON DELETE CASCADE,
|
CONSTRAINT fk_Projet
|
||||||
PRIMARY KEY (idProjet, idScientifique)
|
FOREIGN KEY (idProjet)
|
||||||
|
REFERENCES Projet(idProjet)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT fk_Scientifique
|
||||||
|
FOREIGN KEY (idScientifique)
|
||||||
|
REFERENCES Scientifique(idScientifique)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Ronan
|
-- Ronan
|
||||||
CREATE TABLE Preside(
|
CREATE TABLE Preside(
|
||||||
idCongres INT NOT NULL,
|
idCongres INT NOT NULL,
|
||||||
idScientifique INT NOT NULL,
|
idScientifique INT NOT NULL,
|
||||||
FOREIGN KEY (idCongres) REFERENCES Congres(idCongres) ON DELETE CASCADE,
|
PRIMARY KEY (idCongres, idScientifique),
|
||||||
FOREIGN KEY (idScientifique) REFERENCES Scientifique(idScientifique) ON DELETE CASCADE,
|
CONSTRAINT fk_Congres
|
||||||
PRIMARY KEY (idCongres, idScientifique)
|
FOREIGN KEY (idCongres)
|
||||||
|
REFERENCES Congres(idCongres)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT fk_Scientifique
|
||||||
|
FOREIGN KEY (idScientifique)
|
||||||
|
REFERENCES Scientifique(idScientifique)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Ronan
|
-- Ronan
|
||||||
CREATE TABLE Publie_Scientifique(
|
CREATE TABLE Publie_Scientifique(
|
||||||
idPublication INT NOT NULL,
|
idPublication INT NOT NULL,
|
||||||
idScientifique INT NOT NULL,
|
idScientifique INT NOT NULL,
|
||||||
FOREIGN KEY (idPublication) REFERENCES Publication(idPublication) ON DELETE CASCADE,
|
PRIMARY KEY (idPublication, idScientifique),
|
||||||
FOREIGN KEY (idScientifique) REFERENCES Scientifique(idScientifique) ON DELETE CASCADE,
|
|
||||||
PRIMARY KEY (idPublication, idScientifique)
|
CONSTRAINT fk_Publication
|
||||||
|
FOREIGN KEY (idPublication)
|
||||||
|
REFERENCES Publication(idPublication)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT fk_Scientifique
|
||||||
|
FOREIGN KEY (idScientifique)
|
||||||
|
REFERENCES Scientifique(idScientifique)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Ronan
|
-- Ronan
|
||||||
CREATE TABLE Publie_Doctorant(
|
CREATE TABLE Publie_Doctorant(
|
||||||
idPublication INT NOT NULL,
|
idPublication INT NOT NULL,
|
||||||
idDoctorant INT NOT NULL,
|
idDoctorant INT NOT NULL,
|
||||||
FOREIGN KEY (idPublication) REFERENCES Publication(idPublication) ON DELETE CASCADE,
|
PRIMARY KEY (idPublication, idDoctorant),
|
||||||
FOREIGN KEY (idDoctorant) REFERENCES Doctorant(idDoctorant) ON DELETE CASCADE,
|
CONSTRAINT fk_Publication
|
||||||
PRIMARY KEY (idPublication, idDoctorant)
|
FOREIGN KEY (idPublication)
|
||||||
|
REFERENCES Publication(idPublication)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT fk_Doctorant
|
||||||
|
FOREIGN KEY (idDoctorant)
|
||||||
|
REFERENCES Doctorant(idDoctorant)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Ronan
|
-- Ronan
|
||||||
CREATE TABLE Publie_Externe(
|
CREATE TABLE Publie_Externe(
|
||||||
idPublication INT NOT NULL,
|
idPublication INT NOT NULL,
|
||||||
idAuteurExterne INT NOT NULL,
|
idAuteurExterne INT NOT NULL,
|
||||||
FOREIGN KEY (idPublication) REFERENCES Publication(idPublication) ON DELETE CASCADE,
|
PRIMARY KEY (idPublication, idAuteurExterne),
|
||||||
FOREIGN KEY (idAuteurExterne) REFERENCES Auteur_Externe(idAuteur) ON DELETE CASCADE,
|
CONSTRAINT fk_Publication
|
||||||
PRIMARY KEY (idPublication, idAuteurExterne)
|
FOREIGN KEY (idPublication)
|
||||||
|
REFERENCES Publication(idPublication)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT fk_AuteurExterne
|
||||||
|
FOREIGN KEY (idAuteurExterne)
|
||||||
|
REFERENCES Auteur_Externe(idAuteur)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE
|
||||||
);
|
);
|
||||||
|
|
||||||
--Yasmine
|
--Yasmine
|
||||||
|
@ -188,18 +236,34 @@ CREATE TABLE Partenaire(
|
||||||
CREATE TABLE Participe_Externe(
|
CREATE TABLE Participe_Externe(
|
||||||
idProjet INT NOT NULL,
|
idProjet INT NOT NULL,
|
||||||
idPartenaire INT NOT NULL,
|
idPartenaire INT NOT NULL,
|
||||||
FOREIGN KEY (idProjet) REFERENCES Projet(idProjet) ON DELETE CASCADE,
|
PRIMARY KEY (idProjet, idPartenaire),
|
||||||
FOREIGN KEY (idPartenaire) REFERENCES Partenaire(idPartenaire) ON DELETE CASCADE,
|
CONSTRAINT fk_Projet
|
||||||
PRIMARY KEY (idProjet, idPartenaire)
|
FOREIGN KEY (idProjet)
|
||||||
|
REFERENCES Projet(idProjet)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT fk_Partenaire
|
||||||
|
FOREIGN KEY (idPartenaire)
|
||||||
|
REFERENCES Partenaire(idPartenaire)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Ronan
|
-- Ronan
|
||||||
CREATE TABLE Organise (
|
CREATE TABLE Organise (
|
||||||
idPortesOuverte INT NOT NULL,
|
idPortesOuverte INT NOT NULL,
|
||||||
idPersonnel INT NOT NULL,
|
idPersonnel INT NOT NULL,
|
||||||
FOREIGN KEY (idPortesOuverte) REFERENCES Journee_Portes_Ouvertes(idPorteOuverte) ON DELETE CASCADE,
|
PRIMARY KEY(idPortesOuverte, idPersonnel),
|
||||||
FOREIGN KEY (idPersonnel) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE,
|
CONSTRAINT fk_jpo
|
||||||
PRIMARY KEY(idPortesOuverte, idPersonnel)
|
FOREIGN KEY (idPortesOuverte)
|
||||||
|
REFERENCES Journee_Portes_Ouvertes(idPorteOuverte)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE,
|
||||||
|
CONSTRAINT fk_Personnel
|
||||||
|
FOREIGN KEY (idPersonnel)
|
||||||
|
REFERENCES Personnel(idPersonnel)
|
||||||
|
ON DELETE CASCADE
|
||||||
|
ON UPDATE CASCADE
|
||||||
);
|
);
|
||||||
|
|
||||||
--Yasmine
|
--Yasmine
|
||||||
|
|
Loading…
Reference in a new issue