correction du tables pour ajout de types classConf et echelon

This commit is contained in:
Olougouna Axel 2022-12-09 12:07:58 +01:00
parent 04d3ba951e
commit 9289a676c2
2 changed files with 35 additions and 11 deletions

View file

@ -34,8 +34,11 @@ WHERE idScientifique = '01';
-- Axel Q4 -- Axel Q4
SELECT COUNT(DISTINCT ) as nbPaysCollab FROM Publication SELECT COUNT(DISTINCT pays) AS nbPaysCollab FROM Labo_Externe le
WHERE classeConf = 'A'; RIGHT JOIN Auteur_Externe ae ON ae.idLabo = le.idLabo
RIGHT JOIN Publie_Externe pe ON pe.idAuteurExterne = ae.idAuteurExterne
JOIN Publication pub ON pub.idPublication = pe.idPublication
WHERE pub.classeConf = 'A';
-- Nathan Q5 -- Nathan Q5
SELECT idDoctorant, COUNT(idPublication) FROM Publie_Doctorant SELECT idDoctorant, COUNT(idPublication) FROM Publie_Doctorant
@ -100,6 +103,19 @@ NOT IN ( (SELECT idScientifique
FROM Encadrement) FROM Encadrement)
) ; ) ;
-- Axel Q12
SELECT idEnseignant FROM Enseignant_Chercheur ec
RIGHT JOIN Publie_Scientifique ps ON ps.idScientifique = ec.idScientifique
RIGHT JOIN Publication pub ON pub.idPublication = ps.idScientifique
WHERE pub.classeConf = 'A';
--EXCEPT SELECT idEnseignant FROM Enseignant_Chercheur ec
--RIGHT JOIN Publie_Scientifique ps ON ps.idScientifique = ec.idScientifique
--RIGHT JOIN Publication pub ON pub.idPublication = ps.idScientifique
--WHERE pub.classeConf = 'A'
-- AND pub.classeConf IN 'A*' 'B';
-- Yasmine QUESTION 14 -- Yasmine QUESTION 14
SELECT Count(Distinct idPublication) SELECT Count(Distinct idPublication)

View file

@ -1,5 +1,5 @@
-- Nathan -- Nathan
CREATE TYPE echelon AS ENUM ( CREATE TYPE T_CLASSECONF AS ENUM (
'A*', 'A*',
'A', 'A',
'B', 'B',
@ -7,13 +7,23 @@ CREATE TYPE echelon AS ENUM (
); );
-- Nathan -- Nathan
CREATE TYPE grade AS ENUM ( CREATE TYPE T_GRADE AS ENUM (
'cr1', 'cr1',
'cr2', 'cr2',
'mcf', 'mcf',
'mcf hors classe' 'mcf hors classe'
); );
CREATE TYPE T_ECHELON AS ENUM (
1,
2,
3,
4,
5,
6,
7
);
-- Axel -- Axel
CREATE TABLE Personnel CREATE TABLE Personnel
( (
@ -27,9 +37,7 @@ CREATE TABLE Personnel
--Axel --Axel
CREATE TABLE Doctorant( CREATE TABLE Doctorant(
idDoctorant INT NOT NULL, idDoctorant INécheloe DATE,
date_debut_these DATE,
date_soutenance DATE,
FOREIGN KEY (idDoctorant) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE, FOREIGN KEY (idDoctorant) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE,
PRIMARY KEY(idDoctorant) PRIMARY KEY(idDoctorant)
); );
@ -37,7 +45,7 @@ CREATE TABLE Doctorant(
--Yasmine --Yasmine
CREATE TABLE Scientifique( CREATE TABLE Scientifique(
idScientifique INT NOT NULL, idScientifique INT NOT NULL,
grade VARCHAR, grade T_GRADE,
FOREIGN KEY (idScientifique) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE, FOREIGN KEY (idScientifique) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE,
PRIMARY KEY (idScientifique) PRIMARY KEY (idScientifique)
); );
@ -55,7 +63,7 @@ CREATE TABLE Etablissement(
CREATE TABLE Enseignant_Chercheur( CREATE TABLE Enseignant_Chercheur(
idEnseignant INT NOT NULL, idEnseignant INT NOT NULL,
idEtablissement INT NOT NULL, idEtablissement INT NOT NULL,
echelon ECHELON, echelon T_ECHELON,
FOREIGN KEY (idEtablissement) REFERENCES Etablissement(idEtablissement) ON DELETE CASCADE, FOREIGN KEY (idEtablissement) REFERENCES Etablissement(idEtablissement) ON DELETE CASCADE,
FOREIGN KEY (idEnseignant) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE, FOREIGN KEY (idEnseignant) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE,
PRIMARY KEY (idEnseignant) PRIMARY KEY (idEnseignant)
@ -118,7 +126,7 @@ CREATE TABLE Publication(
titre VARCHAR, titre VARCHAR,
annee DATE, annee DATE,
nomConf VARCHAR, nomConf VARCHAR,
classeConf VARCHAR, classeConf T_CLASSECONF,
nbPages INT, nbPages INT,
PRIMARY KEY (idPublication) PRIMARY KEY (idPublication)
); );