3 4
This commit is contained in:
commit
97b450f3e1
3 changed files with 250 additions and 36 deletions
63
insert.sql
63
insert.sql
|
@ -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
|
||||
|
|
97
request.sql
97
request.sql
|
@ -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));
|
||||
|
||||
|
|
126
tables.sql
126
tables.sql
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue