Institut Supérieur des Études Technologiques de Radès Département Technologies

Institut Supérieur des Études Technologiques de Radès Département Technologies de l'informatique Épreuve : Bases de Données Date :Janvier 2019 Enseignantes: I.Msakni,N. Abidi, J. Dhiab, L.Gatri. Documents :Non autorisés Durée :1H :30min Classes :L2 DSI,RSI et SEM CORRECTION Nombre de pages: 7 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 : R (Num_E, Nom_E, Prenom_E, Num_Gpe, Nom_Gpe, Nom_Animateur, Jour, Num_Act, Type_Act) Un n-uplet de la relation R a pour signification que : L’enfant de numéro Num_E, de nom Nom_E et de prénom Prenom_E, appartient au groupe de numéro Num_Gpe, de nom Nom_Gpeencadré par l’animateur de nom Nom_Animateur. Ce groupe participe le jour « Jour » à l’activité de numéroNum_Act qui est de Type_Act (football, danse, bricolage, …) sachant qu’un groupe ne peut participer qu’à une seule activité par jour. Une analyse de la situation, nous fournit un ensemble initial de dépendances fonctionnelles : (1) Num_E → Nom_E (2) Num_E → Nom_Animateur (3) Num_Gpe, Jour → Num_Act (4) Num_E → Prenom_E (5) Num_Gpe → Nom_Gpe (6) Num_E, Jour → Nom_Gpe (7) Num_E → Num_Gpe (8) Num_Gpe → Nom_Animateur (9) Num_Act → Type_Act Répondre aux questions suivantes, en justifiant vos réponses. 1- Identifier les redondances éventuelles dans les dépendances fonctionnelles de la relation R. (1pts) (5)Num_Gpe → Nom_Gpe (6) Num_E, Jour → Nom_Gpe : redondant on peut le déduire à partir de(5) et (7) (7) Num_E → Num_Gpe 1/7 Ne Rien Ecrire Ici /****/ (2) Num_E → Nom_Animateur : redondant on peut le déduire à partir de(8) et (7) (8)Num_Gpe → Nom_Animateur (7) Num_E → Num_Gpe 2- Trouver la ou les clés possible(s) de R. (1pts) (bien sûr après l’élimination des redondances) La liste des DFs élémentaires est : (1)Num_E → Nom_E (3)Num_Gpe, Jour → Num_Act (4)Num_E → Prenom_E (5)Num_Gpe → Nom_Gpe (7)Num_E → Num_Gpe (8)Num_Gpe → Nom_Animateur (9)Num_Act → Type_Act Donc la clé de la relation R est (Num_E,jour) 3- Donner la forme normale de R. (1pts) La relation R est en 1FN car il ya des DFS qui dépendants d’une partie de la clé 4- Proposer une décomposition de R en troisième forme normale.(2pts=0.5*4) Enfant(Num_E , Nom_E , Prenom_E ,Num_Gpe) Groupe(Num_Gpe , Nom_Gpe, Nom_Animateur) Activité(Num_Act , Type_Act) Groupe_Activite(Num_Gpe, Jour ,Num_Act) 2/7 Ne Rien Ecrire Ici 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 : Journaliste (Id_Journaliste, nom, prénom, adresse, téléphone) 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. Journal(NomJourna l , type, éditeur, Id_Directeur) 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. Numéro (Numéro, NomJournal , Date_Parution, Nb_Pages) 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 , N omJournal , 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. Ecriture (Titre, Numéro , NomJournal, Id_Auteur ) Un tuple de la relation Ecriture désigne le fait qu'un journaliste (Id_Auteur) a participé à l'écriture d'un article (titre, numéro, NomJournal). Un article est écrit par un ou plusieurs journalistes. (Id_Auteur) est une clé étrangère qui référence (Id_Journaliste) de la relation Journaliste. (Titre, Numéro, NomJournal) est une clé étrangère qui référence (Titre, Numéro, NomJournal) de la relation Article. 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. 3- Donner lenom et le prénom du directeur du journal « La liberté ». 4- Donner les journalistes (Nom et Prénom) ayant écrits des articles dans tous les journaux. B/ Répondre aux requêtes suivantes en utilisant le langage SQL (9 pts= 1pts*9) 1- Afficher le nom et prénom du directeur du journal « La liberté ». 4/7 Ne Rien Ecrire Ici SELECT nom, prenom FROM Journaliste join Journal on Journaliste.Id_ Journaliste join Journal. Id_Directeur where . NomJournal =’liberte’; 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. SELECT titre, numero, nomJournal FROM Ecriture E1, Ecriture E2 WHERE E1.titre = E2.titre AND E1.numero=E1.numero AND E1.nomJournal=E2.nomJournal AND E1.Id_Auteur<> E2. Id_Auteur ; 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 uploads/Litterature/ devoir-synthese-2019-bd-final-correction.pdf

  • 27
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager