Sujet du contrôle pour les EI 05/06

Institut National des Télécommunications

Contrôle des connaissances

Bases de données

Code : BD21

Date : 08/11/2005

Durée : 1h30

Coordonnateur : C. Lecocq et S. Tata

Documents autorisés: ceux distribués en cours

 

____________________________________________________

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 : 5,5 points (Q3.1 = 1,5 pts, Q3.2 = 2 pts, Q3.3 = 2 pts)

Question 4 : 4 points (Q4.1 = 2 pts, Q4.2 = 2 pts)

Question 5 : 1,5 point (Q5.1 = 1pt,
Q5.2 = 0,5pt)


Une ludothèque souhaite organiser les jeux proposés aux
enfants en fonction de leur but pédagogique et des compétences développées.
Afin de proposer des activités adéquates aux enfants clients de cette
ludothèque, le schéma de base de données suivant est défini :

FamilleJeux (nomFamille, butPedagogique)

Jeux (nomJeux, prix,
description, ageMini, ageMaxi, nomFamilleJeux)

Accessoire (nomJeux,
nomAccessoire,
prix)

Compétence (nomCompetence,
description, ageMiniAdapte, ageMaxiAdapte)

Developper (nomJeux, nomCompetence)

Les clés sont soulignées et les clés étrangères sont en
gras.

La sémantique des diverses relations est la suivante :

FamilleJeux (nomFamille, butPedagogique) : une
famille de jeux est identifiée par son nom « nomFamille ».
Les seules valeurs possibles de nomFamille
sont : « jeux de société », « loisirs créatifs »,
« jeux d’imitation ». Le but pédagogique « butPedagogique » de cette famille est associé.

Jeux (nomJeux, prix, description, ageMini, ageMaxi, nomFamilleJeux) :
un jeux est identifié par son nom « nomJeux ».
Il est décrit par son prix « prix »,
une description textuelle « description »,
un age minimum « ageMini »,
un age maximum « ageMaxi »
et le nom de la famille de jeux auquel il appartient « nomFamilleJeux »; clé étrangère
sur la relation « FamilleJeux ».

Accessoire (nomJeux, nomAccessoire,
prix) : un accessoire est identifié par son nom « nomAccessoire » et le nom du jeux auquel il doit
être associé « nomJeux ». Il
possède un prix « prix ». « nomJeux » est une clé étrangère
sur la relation « Jeux ».

Compétence (nomCompetence, description,
ageMiniAdapte, ageMaxiAdapte) : une compétence est identifiée par son nom « nomCompétence » (« motricité
fine », « stratégie », « socialisation » par exemple).
Une compétence est décrite par un attribut « description »,
un âge minimum « ageMiniAdapte »
avant lequel cette compétence ne peut pas être développée, un âge maximum « ageMaxiAdapte » après lequel
cette compétence est acquise et n’a plus à être développée.

Developper (nomJeux, nomCompetence) : le jeux
de nom « nomJeux »
développe la compétence de nom « nomCompetence ».
« nomJeux » est une clé étrangère sur la relation « Jeux ». « nomCompetence » est une clé étrangère sur la relation « Competence ».

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 ou
sous forme textuelle), et d'autre part en SQL.

(Q2.1) Quels sont les jeux
(nom de jeux et prix) qui coûtent moins de 20 Euro ?

(Q2.2) Quels sont les noms
des jeux et les noms des accessoires de jeux qui développent la compétence
« motricité fine » ? La compétence développée par un accessoire
est la même que celle du jeux auquel il est rattaché.

Question 3

Exprimer les 3 questions suivantes en SQL :

(Q3.1) Pour chaque famille
de jeux, donner le nom de la famille, le nombre de jeux appartenant à cette
famille et le prix moyen des jeux de cette famille.

(Q3.2) Donner le nom des jeux
et leur prix dont chacun des accessoires est plus cher que le jeux lui-même (le
minimum du prix des accessoires est supérieur au prix du jeux).

(Q3.3) Quel est(sont) le(s)
jeux développant le maximum de compétences ?

Question 4

Exprimer les 2 questions suivantes en algèbre relationnelle ou
en SQL :

(Q4.1) Quels sont les jeux
(nom de jeux) développant toutes les compétences ?

(Q4.2) Quels sont les jeux
(nom de jeux et description) qui ne sont pas de la famille « jeux
d’imitation » ?

Question 5

(Q5.1) Ecrire l’ordre de
création de la relation « FamilleJeux » en SQL. Cette création doit
contenir la définition des contraintes d’intégrité (contrainte de clé, clé étrangère,
contraintes de domaine …).

Vous considérerez pour cela que
l’attribut « nomFamille » est une chaîne de 16 caractères et que
dont les valeurs possibles sont 
: « jeux de société »,
« loisirs créatifs », « jeux d’imitation ». L’attribut « butPedagogique » est une chaîne de 30 caractères.

 

(Q5.2) Que doit faire le
formulaire suivant ?

<html>

<body>

<hr>

<form name="titi"
action="http://www-inf.int-evry.fr/cgi-bin/mowi_sql.cgi"
method="POST">

<input type="hidden" name="uid"
value="titi/titi@TANNA">

<input type="hidden"
name="mode" value="NOR">

<input type="hidden"
name="table" value="JEUX">

<input type="hidden"
name="sqlstatement" value="Select nomJeux, COUNT(*) From Jeux J,
accessoire A where J.nomJeux= A.nomJeux group by nomJeux">

<input type="button" value="GO!"
onClick="titi.submit();">

</form>

</body>

</html>