Académique Documents
Professionnel Documents
Culture Documents
Exercice1 (5 pts) :
Un centre aéré souhaite créer sa base de données afin de gérer ses activités et ses animateurs.
Pour cela, la relation R suivante est créée :
/****/
(8)Num_Gpe → Nom_Animateur
(7) Num_E → Num_Gpe
Exercice2 :(15pts)
On souhaite mettre en place une base de données pour gérer l'ensemble des journaux édités en
Tunisie. Cette base est définie par le schéma suivant :
Un journaliste est identifié d'une manière unique par un Id_Journaliste. Il est caractérisé par un
nom, un prénom, une adresse et un téléphone.
Un journal est identifié d'une manière unique par un nom. Il est caractérisé par un type (quotidien,
hebdomadaire, …), une maison d'édition (éditeur) et un directeur (Id_Directeur). (Id_Directeur) est
une clé étrangère qui référence (Id_Journaliste) de la relation Journaliste.
Un numéro d'un journal est identifié d'une manière unique par un numéro et le nom du journal
(numero, nomJournal) et est caractérisé par une date de parution et un nombre de pages.
NomJournal est une clé étrangère qui référence NomJournal de la relation Journal.
Article(Titre,Numéro, NomJournal, type)
Un article est identifié d'une manière unique par un titre, le numéro et le nom du journal auquel
l'article appartient. Il est caractérisé par un type (politique, société, sport, …). (Numéro,
NomJournal) est une clé étrangère qui référence (Numéro, NomJournal) de la relation Numéro.
3/7
Ne Rien Ecrire Ici
Travail à faire
A/ Répondre aux requêtes suivantes en utilisant l’algèbre relationnelle (6 pts=1.5*4)
1- Donner les articles (Titre, Numéro et Nom du journal) écrits par «SofièneChourabi »en
2014.
2- Donner les journalistes (Nom et Prénom) qui n’ont jamais écrit des articles.
4- Donner les journalistes (Nom et Prénom) ayant écrits des articles dans tous les journaux.
2- Donner les journalistes (Id_Journaliste) qui n'écrivent que dans des journaux quotidiens.
SELECT Id_Journamiste
FROM Journaliste
Where Id_Journaliste in ( Id_auteur FROM Journal J, Ecriture E
WHERE J.nomJournal = E.nomJournal AND type = 'quotidien' )
And Id_Journaliste not in ( Id_auteur FROM Journal J, Ecriture E
WHERE J.nomJournal = E.nomJournal AND type <> 'quotidien' );
2 éme version
SELECT Id_Journamiste
FROM Journaliste Where Id_Journaliste in ( Id_auteur FROM Journal J, Ecriture E
WHERE J.nomJournal = E.nomJournal AND type = 'quotidien' )
Minus
SELECT Id_Journamiste
FROM Journaliste where Id_Journaliste not in ( Id_auteur FROM Journal J, Ecriture E
WHERE J.nomJournal = E.nomJournal AND type <> 'quotidien' );
3- Donner les articles (Titre, Numéro et Nom du journal) qui sont écrits par au moins deux
journalistes différents.
5/7
Ne Rien Ecrire Ici
4- Donner les articles (Titre,Numéro et Nom du Journal) écrit par le directeur du journal dans
lequel ils ont pru.
SELECT titre, numero, nomJournal
FROM Ecriture E, Journal J
WHERE E.nomJournal=J.nomJournal AND E.Id_Auteur = J. Id_Directeur ;
5- Pour chaque journal (Nom journal), donner par numéro, le nombre moyen d'articles et le
nombre de journalistes qui ont écrit par numéro.
Select count(titre),count(distinct Id_auteur)
From Ecriture
Group by Numéro, NomJournal ;
6- Donner les journalistes (Id_Journaliste) ayant écrits au moins un article dans le (ou les)
journal dirigé par « Chiheb Ben Salah ».
Select Id_Auteur
from Ecriture
where Id_Auteur in (select Id_auteur from Ecriture join Journal on
Ecriture.nomJournal=Journal.nomJournal Join Journaliste on
Journaliste.Id_journaliste=Journal.Id_directeur
where nom=’Ben Salah’ and prenom=’chiheb’);
7- Ajouter la colonne Sujet à la table Article désignant le sujet d’un article bien donné.
Alter table article Add (Sujet varchar2(50)) ;
8- Ajouter la contrainte nécessaire pour qu’un type d’article ne puisse être que « politique »,
« société », « sport » ou « religion ».
Alter table article Add constraint ck_type check (type in ‘politique ‘, ‘ société ‘, ‘ sport ‘,
‘ religion’) ;
6/7
Ne Rien Ecrire Ici
9- Suite à une erreur de saisie, les articles parus après le « 01/09/2018 » dans le journal « La
Liberté » ayant le titre « Devinette » ont été écrits réellement par le journaliste
«SofièneChourabi ». Procéder à la correction de cette erreur.
Update Ecriture
set Id_auteur= (select Id_journaliste from Journaliste
where nom=’chourabi’ and prenom=’sofiene’ )
where nomJournal=(select nomJournal from Aritcle where nomjournal=’liberte’ and
date_parution>’01/09/2018’ and titre=’Devinette’;
7/7