Année universitaire 2000-2001 - lirmm
ULIN401. Travaux dirigés de bases de données. TD7- algèbre relationnelle.
CORRIGE. Les énoncés sont en italique. ... Exercice 1. Soient les schémas de ...
Part of the document
Université Montpellier 2
ULIN401
Travaux dirigés de bases de données
TD7- algèbre relationnelle
CORRIGE
Les énoncés sont en italique.
Les corrigés sont en caractère normal.
Exercice 1
Soient les schémas de relation suivants :
PERSONNAGE = (TYPE, FORCE, VIE, QUALITE, DEFAUT)
SCÉNARIO = (NOM-SCÉNARIO, TYPE, HISTOIRE)
Ecrivez en algèbre relationnelle les requêtes suivantes :
1) Quels sont les types de personnages qui interviennent dans les histoires
de combat ?
?TYPE(?HISTOIRE='combat'(SCENARIO))
2) Quels sont les personnages qui vivent moins de 50 ans ?
On pense que le type est déterminant.
?TYPE(?VIE < 50 (PERSONNAGE))
Exercice 2
Soient les schémas de relation suivants :
R1= (FILM, SALLE, SEANCE, CINEMA, METTEUR-EN-SCENE,ACTEUR)
R2= (CINEMA, ADR)
1)Donnez la question en Français qui correspond à la requête suivante
?ADR (R2 I>4 ?
? BASE(?ETAT4 (VOILIER))
10. Quelles sont les bases qui ne louent que des voiliers d'état < 2 ?
? BASE((VOILIER)) - ? BASE(?ETAT >=2 (VOILIER))
11. Donner les numéros des voiliers non encore empruntés.
? NV((VOILIER)) - ? NV((RESERV))
12. Quels sont les noms des clients n'ayant pas loué de planche ?
Ce sont tous les clients sauf ceux qui ont loué (au moins une fois) une
planche. On suppose que 'planche' est un type de « voilier ».
? NOM(CLIENT) - ? NOM(? NOM,NC(CLIENT) ? NC,NV(RESERV)
NC
? NV(?????='planche' (VOILIER)) )
NV
13. Quels sont les directeurs de base ayant loué, comme clients, un voilier
dans une autre base que celle qu'ils dirigent ?
? DIR( SUCC ?BASE,NOM (?BASE,NV(VOILIER) ?NV,NC
NOM = DIR
NV
(BASE.SUCC ¬= BASE.VOILIER
(RESERV) ?NC,NOM(CLIENT) ))
NC
C'est un cas de jointure conditionnelle mélangée avec une équijointure.
14. Donner le nom des clients ayant loué un voilier dans la ville où ils
habitent.
?NOM( ?ADR=BASE (CLIENT ?NC,NV(RESERV) ?NV,BASE
NC NV
(VOILIER)))
15. Quels sont les noms et adresses des clients ayant loué plusieurs
voiliers ?
Il s'agit de clients ayant loué au moins deux voiliers différents.
R1 = ?NC,NV(RESERV).
?NOM, ADR (CLIENT R1 ?NC,NV(RESERV))
NC NC.R1
= NC. RESERV
Et NV. R1 ¬=NV.RESERV
Le renommage de la projection est ici utile en algèbre.