This commit is contained in:
Bonnet Ronan 2022-12-09 12:10:45 +01:00
commit b50863af37
3 changed files with 145 additions and 92 deletions

View file

@ -1,12 +1,95 @@
INSERT INTO Personnel VALUES (
0,
----------------------------------------------------------------------
-- --
-- Personnel --
-- --
----------------------------------------------------------------------
-- Nathan
INSERT nom, prenom, date_de_naissance, adress, date_de_recrutement INTO Personnel VALUES (
'Billard',
'Nathan',
DATE '2000-12-25',
'chez Nathan',
'15 avenue du Colonel Roche',
DATE '2020-9-15'
);
INSERT nom, prenom, date_de_naissance, adress, date_de_recrutement INTO Personnel VALUES (
'Bonnet',
'Ronan',
DATE '2002-12-25',
'chez Ronan',
'2020-9-15'
);
INSERT nom, prenom, date_de_naissance, adress, date_de_recrutement INTO Personnel VALUES (
'Olougouna',
'Axel',
DATE '2001-12-25',
'chez Axel',
'2020-9-15'
);
INSERT nom, prenom, date_de_naissance, adress, date_de_recrutement INTO Personnel VALUES (
'Grane',
'Yasmine',
DATE '2001-12-25',
'chez Yasmine',
'2020-9-15'
);
INSERT nom, prenom, date_de_naissance, adress, date_de_recrutement INTO Personnel VALUES (
'Wonderland',
'Alice',
DATE '1978-12-25',
'chez les lapins',
'2020-9-15'
);
INSERT nom, prenom, date_de_naissance, adress, date_de_recrutement INTO Personnel VALUES (
'Le Bricoleur',
'Bob',
DATE '1878-12-25',
'au chantier',
'2020-9-15'
);
INSERT nom, prenom, date_de_naissance, adress, date_de_recrutement INTO Personnel VALUES (
'Romilly',
'Étienne',
DATE '1995-03-17',
'32 avenue des Maronnais',
DATE '2013-09-01'
);
INSERT nom, prenom, date_de_naissance, adress, date_de_recrutement INTO Personnel VALUES (
'Jacques',
'Léonne',
DATE '2002-01-07',
'158 rue de la passion',
DATE '2021-08-25'
);
----------------------------------------------------------------------
-- --
-- Doctorant --
-- --
----------------------------------------------------------------------
INSERT date_debut_these, date_soutenance INTO Doctorant VALUES (
DATE '2020-06-23',
DATE '2023-08-03'
);
INSERT date_debut_these, date_soutenance INTO Doctorant VALUES (
DATE '2019-07-13',
DATE '2020-11-08'
);
INSERT date_debut_these, date_soutenance INTO Doctorant VALUES (
DATE '2021-07-30',
DATE '2022-09-29'
);
--Axel
INSERT INTO Etablissement VALUES (
@ -33,74 +116,13 @@ INSERT INTO Etablissement VALUES (
'Paris'
);
INSERT INTO Personnel VALUES (
1,
'Bonnet',
'Ronan',
DATE '2002-12-25',
'chez Ronan',
'2020-9-15'
);
INSERT INTO Personnel VALUES (
2,
'Olougouna',
'Axel',
DATE '2001-12-25',
'chez Axel',
'2020-9-15'
);
INSERT INTO Personnel VALUES (
3,
'Grane',
'Yasmine',
DATE '2001-12-25',
'chez Yasmine',
'2020-9-15'
);
INSERT INTO Personnel VALUES (
4,
'Wonderland',
'Alice',
DATE '1978-12-25',
'chez les lapins',
'2020-9-15'
);
INSERT INTO Personnel VALUES (
5,
'Le Bricoleur',
'Bob',
DATE '1878-12-25',
'au chantier',
'2020-9-15'
);--Axel
--Axel
INSERT INTO Partenaire VALUES (
01,
'GFGH',
'Allemagne'
);
INSERT INTO Doctorant VALUES (
4,
DATE '2020-06-23',
DATE '2023-08-03'
);
INSERT INTO Doctorant VALUES (
1,
DATE '2019-07-13',
DATE '2020-11-08'
);
iNSERT INTO Doctorant VALUES (
2,
DATE '2021-07-30',
DATE '2022-09-29'
);
INSERT INTO Scientifique VALUES (
3,
'cr1'
@ -126,6 +148,7 @@ INSERT INTO Encadrement VALUES (
2,
3
);
INSERT INTO Labo_externe VALUES (
1,
'CNES',

View file

@ -14,16 +14,16 @@ WHERE idPersonnel = idScientifique AND idPersonnel IN (
);
-- Ronan Q2
SELECT DISTINCT ae.nom, ae.prenom, le.pays FROM Personnel AS perso
JOIN Publie_Scientifique ps on perso.idPersonnel = ps.idScientifique
SELECT ae.nom, ae.prenom le.pays FROM Personnel AS perso
JOIN Publie_Scientifique ps on perso.idPersonnel = ps.idPersonnel
RIGHT JOIN Publication publi on publi.idPublication = ps.idPublication
RIGHT JOIN Publie_Externe pe on publi.idPublication = pe.idPublication
JOIN Auteur_Externe ae on ae.idAuteur = pe.idAuteurExterne
JOIN Auteur_Externe ae on ae.idAuteur = pe.idAuteur
JOIN Labo_Externe le on ae.idLabo = le.idLabo
WHERE perso.nom = 'Olougouna'
AND perso.prenom = 'Axel'
WHERE perso.nom = 'Azi'
AND perso.prenom = 'Jean'
AND annee >= '2016-01-01'
AND annee <= '2023-01-01';
AND annee <= '2020-01-01';
--Axel Q3
SELECT COUNT(DISTINCT idAuteurExterne) AS nbCollab FROM Publie_Externe pe
@ -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
)
);
@ -94,7 +97,7 @@ GROUP BY idDoctorant;
--Yasmine QUESTION 8
SELECT idEnseignant
FROM Enseignant-chercheur
FROM Enseignant_chercheur
NOT IN ( (SELECT idScientifique
FROM Publie_scientifique)
UNION
@ -102,29 +105,46 @@ NOT IN ( (SELECT idScientifique
FROM Encadrement)
) ;
<<<<<<< HEAD
-- 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 Testé
>>>>>>> af456634e468d2a6e5d3dbc4e169d73853af5baf
SELECT Count(Distinct idPublication)
FROM Publication
GROUP BY annee ;
GROUP BY publication.annee;
-- Yasmine QUESTION 15
-- Yasmine QUESTION 15 Testé PAS D'ERREUR DE SYNTAXE
SELECT Count(Distinct E,idEnseignant)
FROM Enseignant-chercheur E,Personnel P ,Scientifique S
SELECT Count(Distinct E.idEnseignant)
FROM Enseignant_chercheur E,Personnel P ,Scientifique S
WHERE P.idPersonnel=S.idScientifique
AND S.idScientifique=E.idEnseignant
GROUP BY idEtablissement  ;
GROUP BY idEtablissement;
-- Yasmine QUESTION 19
-- Yasmine QUESTION 19 Testé PAS D'ERREUR DE SYNTAXE
SELECT idEtablissement, Count(Distinct idEnseignant)
FROM Enseignant-chercheur
FROM Enseignant_chercheur
GROUP BY idEtablissement
HAVING count(Distinct idEnseignant) >= 50 ;
HAVING count(Distinct idEnseignant) >= 50;
--Yasmine QUESTION 21
--Yasmine QUESTION 21 Testé PAS D'ERREUR DE SYNTAXE
SELECT Distinct P.Pays
FROM Partenaire P, Participe_externe PEX
@ -136,5 +156,5 @@ and not exists (Select *
From Participe_externe PEX2
Where PEX2.idPartenaire=P.idPartenaire and
PEX2.idPr=PR.idProjet));
PEX2.idProjet=PR.idProjet));

View file

@ -1,5 +1,5 @@
-- Nathan
CREATE TYPE echelon AS ENUM (
CREATE TYPE T_CLASSECONF AS ENUM (
'A*',
'A',
'B',
@ -7,17 +7,27 @@ 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
(
idPersonnel INT CONSTRAINT UnePersonne PRIMARY KEY,
idPersonnel SERIAL CONSTRAINT UnePersonne PRIMARY KEY,
nom VARCHAR,
prenom VARCHAR,
date_de_naissance DATE,
@ -27,7 +37,7 @@ CREATE TABLE Personnel
--Axel
CREATE TABLE Doctorant(
idDoctorant INT NOT NULL,
idDoctorant SERIAL NOT NULL,
date_debut_these DATE,
date_soutenance DATE,
FOREIGN KEY (idDoctorant) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE,
@ -37,7 +47,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 +65,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 +128,7 @@ CREATE TABLE Publication(
titre VARCHAR,
annee DATE,
nomConf VARCHAR,
classeConf VARCHAR,
classeConf T_CLASSECONF,
nbPages INT,
PRIMARY KEY (idPublication)
);