TP1_INF 1250
*= clé primaire
….. = clés étrangères
Question 2
2.1 Proposez une clef pour la relation Location. Justifiez votre réponse.
Je propose la clé : idLocation.
Il serait possible d’éviter d’ajouter un autre identifiant en combinant le idClient et le idVoiture, mais il serait possible qu’un client loue la même voiture plus qu’une fois. Alors, on pourrait ajouter la date de location, mais il serait possible qu’un client revienne dans la même journée pour louer la même auto. Par exemple, un client pourrait louer une voiture pour 2h en avant midi pour aller porter son fils à un événement sportif, puis revenir en après-midi pour relouer le même automobile. Les deux locations auraient donc les mêmes idClient, les mêmes idVoiture, les mêmes dates de location et de retour et de très près le même nombre de kilomètrage. Malgré que très peu probable comme scénario, il est tout de même possible alors vaut mieux créer un idLocation que nous pouvons être certains sera toujours unique.
2. 2 Donnez les résultats des opérations de l’algèbre relationnelle suivantes :
UNION (Location1, Location2)
IDClient
IDVoiture
DateLocation
DateRetour
Kilométrage
1
2340
05-06-2012
2
2290
24-02-2012
26-02-2012
124
3
2398
04-01-2012
12-01-2012
1400
4
2340
25-04-2012
29-04-2012
293
5
2190
18-05-2012
26-05-2012
1456
6
2082
04-03-2012
12-03-2012
1400
PROJECT (Location1, idClient, idVoiture, DateLocation)
IDClient
IDVoiture
DateLocation
1
2340
05-06-2012
2
2290
24-02-2012
3
2398
04-01-2012
Question 3
Donnez les expressions en langage algébriques permettant de répondre aux questions suivantes :
Quels clients ont loué une voiture après le 1 Mars 2012 ? Résultat attendu : Nom, Prénom et adresseCourriel.
R1 = RESTRICT (LOCATION, DATELOCATION > 01/03/2012)
R2 = JOIN (PERSONNE, LOCATION)
RESULTAT = PROJECT (R2, NOM, PRENOM, ADRESSECOURRIER)
Quelles sont les voitures qui ont plus de 100,000 kilomètres ou dont l’année est inférieure à 2007 ? Résultat attendu :