122 lines
3.5 KiB
SQL
122 lines
3.5 KiB
SQL
DROP TABLE IF EXISTS projets CASCADE;
|
|
DROP TABLE IF EXISTS utilisateurs CASCADE;
|
|
DROP TABLE IF EXISTS entrepreneurs CASCADE;
|
|
DROP TABLE IF EXISTS administrateurs CASCADE;
|
|
DROP TABLE IF EXISTS sections CASCADE;
|
|
DROP TABLE IF EXISTS rendez_vous CASCADE;
|
|
DROP TABLE IF EXISTS comptes_rendus CASCADE;
|
|
DROP TABLE IF EXISTS concerner CASCADE;
|
|
DROP TABLE IF EXISTS formes CASCADE;
|
|
|
|
CREATE TABLE projets
|
|
(
|
|
id_projet SERIAL NOT NULL,
|
|
nom_projet VARCHAR(255) ,
|
|
logo BYTEA ,
|
|
date_creation DATE ,
|
|
status_projet VARCHAR(255) ,
|
|
CONSTRAINT pk_projet PRIMARY KEY (id_projet) );
|
|
|
|
CREATE TABLE utilisateurs
|
|
(
|
|
id_utilisateur SERIAL NOT NULL,
|
|
nom_utilisateur VARCHAR(255) ,
|
|
prenom_utilisateur VARCHAR(255) ,
|
|
mail_principal VARCHAR(255) ,
|
|
mail_secondaire VARCHAR(255) ,
|
|
numero_telephone VARCHAR(15) ,
|
|
CONSTRAINT pk_utilisateur PRIMARY KEY (id_utilisateur) );
|
|
|
|
CREATE TABLE entrepreneurs
|
|
(
|
|
id_entrepreneur SERIAL REFERENCES utilisateurs (id_utilisateur),
|
|
ecole VARCHAR(255) ,
|
|
filiere VARCHAR(255) ,
|
|
status_snee BOOLEAN ,
|
|
CONSTRAINT pk_entrepreneur PRIMARY KEY (id_entrepreneur) );
|
|
|
|
CREATE TABLE administrateurs
|
|
(
|
|
id_administrateur SERIAL REFERENCES utilisateurs (id_utilisateur),
|
|
CONSTRAINT pk_administrateur PRIMARY KEY (id_administrateur) );
|
|
|
|
CREATE TABLE sections
|
|
(
|
|
id_section SERIAL NOT NULL,
|
|
titre VARCHAR(255) ,
|
|
contenu_section TEXT ,
|
|
date_modification TIMESTAMP ,
|
|
CONSTRAINT pk_section PRIMARY KEY (id_section) );
|
|
|
|
CREATE TABLE rendez_vous
|
|
(
|
|
id_rdv SERIAL NOT NULL,
|
|
date_rdv DATE ,
|
|
heure_rdv TIME ,
|
|
duree_rdv TIME ,
|
|
lieu_rdv VARCHAR(255) ,
|
|
sujet_rdv TEXT ,
|
|
CONSTRAINT pk_rdv PRIMARY KEY (id_rdv) );
|
|
|
|
CREATE TABLE comptes_rendus
|
|
(
|
|
id_compte_rendu SERIAL NOT NULL,
|
|
contenu_compte_rendu TEXT ,
|
|
CONSTRAINT pk_compte_rendu PRIMARY KEY (id_compte_rendu) );
|
|
|
|
CREATE TABLE concerner
|
|
(
|
|
id_section SERIAL REFERENCES sections (id_section),
|
|
id_rdv SERIAL REFERENCES sections (id_rdv),
|
|
CONSTRAINT pk_concerner PRIMARY KEY (id_section, id_rdv) );
|
|
|
|
|
|
ALTER TABLE projets
|
|
ADD CONSTRAINT fk1_projet FOREIGN KEY (id_administrateur)
|
|
REFERENCES administrateurs (id_administrateur)
|
|
ON DELETE CASCADE;
|
|
|
|
ALTER TABLE projets
|
|
ADD CONSTRAINT fk2_projet FOREIGN KEY (id_entrepreneur_participation)
|
|
REFERENCES entrepreneurs (id_entrepreneur)
|
|
ON DELETE CASCADE;
|
|
|
|
ALTER TABLE entrepreneurs
|
|
ADD CONSTRAINT fk1_entrepreneur FOREIGN KEY (id_projet_propose)
|
|
REFERENCES projets (id_projet)
|
|
ON DELETE CASCADE;
|
|
|
|
ALTER TABLE sections
|
|
ADD CONSTRAINT fk1_section FOREIGN KEY (id_projet)
|
|
REFERENCES projets (id_projet)
|
|
ON DELETE CASCADE;
|
|
|
|
ALTER TABLE sections
|
|
ADD CONSTRAINT fk2_section FOREIGN KEY (id_administrateur)
|
|
REFERENCES administrateurs (id_administrateur)
|
|
ON DELETE CASCADE;
|
|
|
|
ALTER TABLE rendez-vous
|
|
ADD CONSTRAINT fk1_rdv FOREIGN KEY (id_entrepreneur)
|
|
REFERENCES entrepreneurs (id_entrepreneur)
|
|
ON DELETE CASCADE;
|
|
|
|
ALTER TABLE rendez-vous
|
|
ADD CONSTRAINT fk2_rdv FOREIGN KEY (id_administrateur)
|
|
REFERENCES administrateurs (id_administrateur)
|
|
ON DELETE CASCADE;
|
|
|
|
ALTER TABLE comptes-rendus
|
|
ADD CONSTRAINT fk1_compte_rendu FOREIGN KEY (id_rdv)
|
|
REFERENCES rendez_vous (id_rdv)
|
|
ON DELETE CASCADE;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|