corrige - Lirmm

Les corrigés sont en caractère normal. Exercice 1. Soient les schémas de ...
Ecrivez en algèbre relationnelle les requêtes suivantes : 1) Quels sont les types
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.