This commit is contained in:
Olougouna Axel 2022-12-09 11:05:40 +01:00
commit 97b450f3e1
3 changed files with 250 additions and 36 deletions

View file

@ -69,8 +69,13 @@ INSERT INTO Personnel (
'2020-9-15'
);
<<<<<<< HEAD
INSERT INTO Personnel (
4,
=======
INSERT INTO Personnel VALUES (
5,
>>>>>>> d1713cf14fbfbef0546be1f9abd0731d8aa312af
'Le Bricoleur',
'Bob',
DATE '1878-12-25',
@ -83,6 +88,23 @@ INSERT INTO Partenaire(
'Allemagne'
);
INSERT INTO Doctorant VALUES (
4,
DATE '2020-23-06',
DATE '2023-08-03'
);
iNSERT INTO Doctorant VALUES (
2,
DATE '2021-07-30',
DATE '2022-09-29'
);
INSERT INTO Scientifique VALUES (
3,
'cr1'
);
INSERT INTO Labo_externe (
0,
@ -221,16 +243,53 @@ INSERT INTO Publication (
220
);
<<<<<<< HEAD
=======
INSERT INTO Publication VALUES (
003,
'chaine de markov',
DATE '2022-12-03',
'Mathematiques appliqués',
113,
500
);
INSERT INTO Publie_Doctorant VALUES (
1,
2
);
INSERT INTO Publie_Doctorant VALUES (
2,
2
);
INSERT INTO Publie_Doctorant VALUES (
2,
4
);
>>>>>>> d1713cf14fbfbef0546be1f9abd0731d8aa312af
INSERT INTO Evenememnt (
0001,
DATE '2022-07-07',
DATE '2023-07-07',
DATE '2023-07-07'
);
INSERT INTO Evenememnt (
0002,
DATE '2022-01-07',
DATE '2023-07-12',
DATE '2023-07-12'
);
<<<<<<< HEAD
=======
INSERT INTO Evenememnt VALUES (
0003,
DATE '2022-02-10',
DATE '2023-03-12'
);
>>>>>>> d1713cf14fbfbef0546be1f9abd0731d8aa312af

View file

@ -1,15 +1,106 @@
-- Nathan
--Axel, question 3 et 4
--SELECT COUNT(id)
--FROM SELECT idScientifique FROM Enseignant_Chercheur
-- WHERE idScientifique = 01;
SELECT COUNT(idPublication) as nbCollab FROM Publication
WHERE classeConf = 'A';
-- Nathan Q1
SELECT Personnel.nom, Scientifique.grade FROM Personnel, Scientifique
WHERE idPersonnel = idScientifique AND idPersonnel IN (
SELECT idScientifique FROM Encadrement
WHERE idDoctorant = 4
);
-- Ronan Q2
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.idAuteur
JOIN Labo_Externe le on ae.idLabo = le.idLabo
WHERE perso.nom = 'Azi'
AND perso.prenom = 'Jean'
AND annee >= '2016-01-01'
AND annee <= '2020-01-01';
-- Nathan Q5
SELECT idDoctorant, COUNT(idPublication) FROM Publie_Doctorant
GROUP BY idDoctorant;
-- Ronan Q6
SELECT COUNT(*) FROM Doctorant
WHERE date_soutenance IS NOT NULL;
--Nathan Q7
-- Ronan Q10
SELECT idDoctorant, nom, prenom, COUNT(*) FROM Encadrement
JOIN Scientifique on idPersonnel=idScientifique
GROUP BY idDoctorant, nom, prenom
HAVING COUNT(DISTINCT idScientifique)=1;
-- Ronan Q16
SELECT pays, COUNT(*) nb_publi
FROM Labo_Externe
JOIN Auteur_Externe ae on ae.idLabo = Labo_Externe.idLabo
JOIN Publie_Externe pe on pe.idAuteur = ae.idAuteur
GROUP BY pays
ORDER BY nb_publi DESC LIMIT 1;
--Yasmine QUESTION 5 A tester enc
SELECT idDoctorant, count(distinct idPublication) as NombrePublication
FROM Doctorant D
LEFT JOIN Publie_Doctorant PD on PD.idDoctorant= D.idDoctorant
GROUP BY idDoctorant;
--Yasmine QUESTION 8
SELECT idEnseignant
FROM Enseignant-chercheur
NOT IN ( (SELECT idScientifique
FROM Publication)
UNION
(SELECT idScientifique
FROM Encadrement)
) ;
-- Yasmine QUESTION 14
SELECT Count(Distinct idPublication)
FROM Publication
GROUP BY annee ;
-- Yasmine QUESTION 15
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  ;
-- Yasmine QUESTION 19
SELECT idEtablissement, Count(Distinct idEnseignant)
FROM Enseignant-chercheur
GROUP BY idEtablissement
HAVING count(Distinct idEnseignant) >= 50 ;
--Yasmine QUESTION 21
SELECT Distinct P.Pays
FROM Partenaire P, Participe_externe PEX
where P.idpartenaire=PEX.idpartenaire
and not exists (Select *
From Projet PR
Where not exists (Select *
From Participe_externe PEX2
Where PEX2.idPartenaire=P.idPartenaire and
PEX2.idPr=PR.idProjet));

View file

@ -74,24 +74,31 @@ CREATE TABLE Evenement(
CREATE TABLE Congres(
idCongres INT NOT NULL,
nb_inscriptions INT NOT NULL,
class VARCHAR,
FOREIGN KEY (idCongres) REFERENCES Evenement(idEvenement) ON DELETE CASCADE,
PRIMARY KEY (idCongres)
classe VARCHAR(15),
PRIMARY KEY (idCongres),
CONSTRAINT fk_congres
FOREIGN KEY (idCongres)
REFERENCES Evenement(idEvenement)
ON DELETE CASCADE
ON UPDATE CASCADE
);
-- Ronan
CREATE TABLE Labo_externe(
idLabo INT NOT NULL,
nom VARCHAR,
pays VARCHAR,
PRIMARY KEY(idLabo)
idLabo SERIAL PRIMARY KEY,
nom VARCHAR(255),
pays VARCHAR(255),
);
-- Ronan
CREATE TABLE Journee_Portes_Ouvertes(
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
@ -135,45 +142,86 @@ CREATE TABLE Projet (
CREATE TABLE Participe(
idProjet INT NOT NULL,
idScientifique INT NOT NULL,
FOREIGN KEY (idProjet) REFERENCES Projet(idProjet) ON DELETE CASCADE,
FOREIGN KEY (idScientifique) REFERENCES Scientifique(idScientifique) ON DELETE CASCADE,
PRIMARY KEY (idProjet, idScientifique)
PRIMARY KEY (idProjet, idScientifique),
CONSTRAINT fk_Projet
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
CREATE TABLE Preside(
idCongres INT NOT NULL,
idScientifique INT NOT NULL,
FOREIGN KEY (idCongres) REFERENCES Congres(idCongres) ON DELETE CASCADE,
FOREIGN KEY (idScientifique) REFERENCES Scientifique(idScientifique) ON DELETE CASCADE,
PRIMARY KEY (idCongres, idScientifique)
PRIMARY KEY (idCongres, idScientifique),
CONSTRAINT fk_Congres
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
CREATE TABLE Publie_Scientifique(
idPublication INT NOT NULL,
idScientifique INT NOT NULL,
FOREIGN KEY (idPublication) REFERENCES Publication(idPublication) ON DELETE CASCADE,
FOREIGN KEY (idScientifique) REFERENCES Scientifique(idScientifique) ON DELETE CASCADE,
PRIMARY KEY (idPublication, idScientifique)
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
CREATE TABLE Publie_Doctorant(
idPublication INT NOT NULL,
idDoctorant INT NOT NULL,
FOREIGN KEY (idPublication) REFERENCES Publication(idPublication) ON DELETE CASCADE,
FOREIGN KEY (idDoctorant) REFERENCES Doctorant(idDoctorant) ON DELETE CASCADE,
PRIMARY KEY (idPublication, idDoctorant)
PRIMARY KEY (idPublication, idDoctorant),
CONSTRAINT fk_Publication
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
CREATE TABLE Publie_Externe(
idPublication INT NOT NULL,
idAuteurExterne INT NOT NULL,
FOREIGN KEY (idPublication) REFERENCES Publication(idPublication) ON DELETE CASCADE,
FOREIGN KEY (idAuteurExterne) REFERENCES Auteur_Externe(idAuteur) ON DELETE CASCADE,
PRIMARY KEY (idPublication, idAuteurExterne)
PRIMARY KEY (idPublication, idAuteurExterne),
CONSTRAINT fk_Publication
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
@ -188,18 +236,34 @@ CREATE TABLE Partenaire(
CREATE TABLE Participe_Externe(
idProjet INT NOT NULL,
idPartenaire INT NOT NULL,
FOREIGN KEY (idProjet) REFERENCES Projet(idProjet) ON DELETE CASCADE,
FOREIGN KEY (idPartenaire) REFERENCES Partenaire(idPartenaire) ON DELETE CASCADE,
PRIMARY KEY (idProjet, idPartenaire)
PRIMARY KEY (idProjet, idPartenaire),
CONSTRAINT fk_Projet
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
CREATE TABLE Organise (
idPortesOuverte INT NOT NULL,
idPersonnel INT NOT NULL,
FOREIGN KEY (idPortesOuverte) REFERENCES Journee_Portes_Ouvertes(idPorteOuverte) ON DELETE CASCADE,
FOREIGN KEY (idPersonnel) REFERENCES Personnel(idPersonnel) ON DELETE CASCADE,
PRIMARY KEY(idPortesOuverte, idPersonnel)
PRIMARY KEY(idPortesOuverte, idPersonnel),
CONSTRAINT fk_jpo
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