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
SELECT COUNT(DISTINCT ) as nbPaysCollab FROM Publication
WHERE classeConf = 'A';
SELECT COUNT(DISTINCT pays) AS nbPaysCollab FROM Labo_Externe le
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
SELECT idDoctorant, COUNT(idPublication) FROM Publie_Doctorant
@ -50,7 +53,7 @@ SELECT nom, prenom FROM Personnel
WHERE idPersonnel IN (
SELECT idScientifique FROM Scientifique
WHERE idScientifique NOT IN (
SELECT idScientifique FROM Encadrement
SELECT idScientifique FROM Encadrement
)
);
@ -100,6 +103,19 @@ NOT IN ( (SELECT idScientifique
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
SELECT Count(Distinct idPublication)

View file

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