/2
Problème 2 (10 points) :
Soit le schéma relationnel suivant (les clés primaires sont soulignées et les clés étrangères suivies d'une
étoile) :
FLEUVES [ CodeFl, NomFl, LongFl, SourceFl, CodeEM* ]
VILLES [ CodeVil, NomVil, NbHab, PaysVil ]
ESPMAR [ CodeEM, NomEM, TypeEM ]
TRAVERSER [CodeFl*, CodeVil*, DistSource ]
Ce schéma est un extrait d'un schéma plus complet d'une base de données fluviales internationales.
Nous distinguons :
– trois tables principales recensant les fleuves (FLEUVES), les villes (VILLES) et les espaces
maritimes (ESPMAR),
– une table de liaison (TRAVERSER) représentant les villes traversées par chaque fleuve,
– une clé étrangère CodeEM dans la table FLEUVES, reliant FLEUVES et ESPMAR, afin de
connaître l'espace maritime dans lequel se jette un fleuve.
Le dictionnaire de données est le suivant :
CodeFl, NomFl Code et nom d'un fleuve
LongFl Longueur d'un fleuve (en km)
SourceFl Nom du lieu dans lequel le fleuve prend sa source
CodeVil, NomVil Code et nom d'une ville
NbHab Nombre d'habitants d'une ville
PaysVil Pays d'origine d'une ville
CodeEM, NomEM Code et nom d'un espace maritime
TypeEM Type d'un espace maritime (exemple : océan, mer, ...)
DistSource Distance entre une ville traversée par un fleuve et la source de ce fleuve
Nous ferons l'hypothèse que deux espaces maritimes de types différents (par exemple une mer et un
océan) ne peuvent pas avoir le même nom.
Question 2.1 (1,5 points) :
Retrouver et fournir le schéma Entité/Association relatif au schéma relationnel proposé.
(Vous ferez et donnerez les hypothèses nécessaires à cette rétro-conception)
Question 2.2 (Q1 : 1,5 pts, Q2 : 2 pts, Q3 : 2,5 pts, Q4 : 2,5 pts) :
Écrire les requêtes suivantes en SQL. (Utilisez le langage algébrique si vous n’arrivez pas à exprimer
ces requêtes en SQL -> moitié des points).
Q1) Nom et nombre d'habitants des villes traversées par le fleuve "Mississippi" ?
Q2) Nom et longueur des fleuves de plus de 500 km se jetant dans l'océan ayant pour nom
"Atlantique" ?
Q3) Nom et pays d'origine des villes traversées par un fleuve se jetant dans la mer ayant pour nom
"Méditerranée" ?
Q4) Pour chaque fleuve, son nom et sa longueur, ainsi que le nombre de villes traversées ?