INSTITUT NATIONAL DES TELECOMMUNICATIONS
CONTROLE DES CONNAISSANCES
Bloc : Bases de données Code : BD21
Durée : 1h30 Date : 22/02/2000
Documents autorisés : Coordonnateurs :
ceux distribués en cours Mme Carpentier, Mr Defude
____________________________________________________
Avertissements
1/ Lisez attentivement le sujet.
2/ Les questions sont indépendantes les unes des autres
3/ Essayez d’être clair et précis dans vos réponses.
4/ Soignez la présentation, dans la mesure du possible.
5/ Barème indicatif
Question 1 : 5 points (Q1 = 5 pts)
Question 2 : 4 points (Q2.1 = 2 pts, Q2.2 = 2 pts)
Question 3 : 6 points (Q3.1 = 2 pts, Q3.2 = 2 pts, Q3.3 = 2 pts)
Question 4 : 3 points (Q4.1 = 1,5 pts, Q4.2 = 1,5 pts)
Question 5 : 2 points (Q5 = 2pts)
La région Ile de France nous demande de gérer une base de données dont le schéma est le suivant :
DEPARTEMENT(NUMDEPT, nomdept, superficie)
VILLE(NUMDEPT, NOMVILLE, nbhabitants)
SITE(NOMSITE, descriptif, type, prix)
LOCALISATIONSITE(NOMSITE, NUMDEPT, NOMVILLE)
HOTEL(NUMDEPT, NOMVILLE, NOMHOTEL, adresse, nbétoiles)
Les clés sont en majuscules et les clés étrangères sont en gras.
La sémantique des diverses relations est la suivante :
DEPARTEMENT(NUMDEPT, nomdept, superficie) : un département est
identifié de manière unique par son numéro et est décrit par son nom et
sa superficie,
VILLE(NUMDEPT, NOMVILLE, nbhabitants): une
ville est identifiée de manière unique par le numéro du département
dans lequel elle est située ainsi que par son nom. Une ville possède un
nombre d’habitants,
SITE(NOMSITE, descriptif, type, prix) : un site est
identifié de manière unique par son nom et possède un descriptif, un
type (château, église, points de vues, ...) et un prix (éventuellement
0 si l’accès au site est gratuit),
LOCALISATIONSITE(NOMSITE, NUMDEPT, NOMVILLE)
: un tuple dans cette relation indique qu’un site (identifié par son
nom, nomsite clé étrangère sur SITE) est situé dans une ville
(identifié par son numéro de département, numdept, et son nom,
nomville, clés étrangères sur VILLE),
HOTEL(NUMDEPT, NOMVILLE, NOMHOTEL, adresse,
nbétoiles) : un hôtel est identifié de manière unique par son nom ainsi
que la ville dans laquelle il se trouve (numdept et nomville clé
étrangère sur VILLE). Un hôtel possède une adresse et un nombre
d’étoiles (de 1 à 4).
Question 1
En vous aidant des règles de passage d’une
modélisation Entité/association à une modélisation relationnelle "à
l’envers", proposer un schéma Entité/Association équivalent à ce schéma
relationnel. Ce schéma devra comporter la description des entités (avec
leurs propriétés), des entités faibles (s’il y a lieu), des
associations (avec leurs propriétés) ainsi que les cardinalités minimum
et maximum des associations binaires.
Question 2
Exprimer chacune des 2 questions suivantes, d’une part en algèbre relationnelle sous la forme d’un arbre algébrique, et d’autre part en SQL.
(Q2.1) Donner le nom des villes (ainsi que leur nombre d’habitants) du département de nom ‘Essonne’.
(Q2.2) Donner le nom et le prix des sites situés dans la ville de nom ‘Versailles’ et de numéro de département 78.
Question 3
Exprimer les 3 questions suivantes en SQL :
(Q3.1) Donner le nombre de sites d’accès gratuit du département de numéro 92.
(Q3.2) Donner pour chaque département (numéro et nom) le nombre d’hôtels 2 étoiles qui le compose.
(Q3.3) Donner le numéro du département qui possède le plus grand nombre de sites.
Question 4
Exprimer les 2 questions suivantes en algèbre relationnelle ou en SQL :
(Q4.1) Donner les villes (nom et nombre d’habitants) qui ne possèdent aucun hôtel.
(Q4.2) Donner les départements (numéro et nom) qui possèdent au moins un site de chaque type.
Question 5
On
désire prototyper une application au dessus de ce schéma relationnel.
Pour cela on décide d’utiliser l’environnement de développement à base
de formulaires HTML utilisé dans le TP conception et développement
d’applications. On veut construire un formulaire permettant de générer
un formulaire d’insertion d’un tuple dans la relation SITE. Le
développeur écrit le formulaire suivant :
<html>
<body>
<h1>Insertion dans site</h1><p>
<form name=’f1’ action=’http://mica/~oracle/cgi-bin/mowi_sql.cgi’method=’GET’>
<input type =’hidden’ name=’login’ value=’conc5/conc@MICA’>
<input type=’hidden’ name=’sqlstatement’ value=’’>
<input type=’hidden’ name=’table’ value=’SITES’>
<input type=’button’ value=’inserer’ onClick=’for1.submit() ;’>
</form>
</body>
</html>
A
l’exécution le développeur n’obtient pas le résultat escompté. Pouvez
vous l’aider en trouvant les 4 erreurs contenues dans ce formulaire.
Posté le 4 septembre 2009