Aller au contenu

UGA - MIASHS - S7 - BDD - Pierre Blarre

Exercices

Icône Présentation
1 / 1

Exercice 1

Soit le schéma relationnel de la base de données d’une agence de voyage :

CLIENT (NUMCLIENT, NOM, PRENOM, E-MAIL, NUMCB)
RESERVATION (NUMCLIENT, CODEVOYAGE, DATERES)
VOYAGE (CODEVOYAGE, DESTINATION, DUREE, PRIX)

Formuler en algèbre relationnelle les requêtes suivantes :


1. Nom, prénom et e-mail des clients ayant une réservation en cours
R1 = RESERVATION ::(DATERES ≥ "aujourd'hui")
R2 = R1 x CLIENT (CLIENT.NUMCLIENT = RESERVATION.NUMCLIENT)
R3 = R2[NOM, PRENOM, E-MAIL]
2. Nom, prénom et e-mail des clients n’ayant aucune réservation en cours
R4 = (CLIENT - R2[NUMCLIENT, NOM, PRENOM, E-MAIL, NUMCB]) [NOM, PRENOM, E-MAIL]
3. Destination et liste des clients ayant réservés pour un voyage de plus de 10 jours et coûtant moins de 1000e
R5 = (RESERVATION (RESERVATION.CODEVOYAGE = VOYAGE.CODEVOYAGE) x VOYAGE) : (DUREE > 10 ∧ PRIX < 1000)
R6 = (CLIENT (CLIENT.NUMCLIENT = R5.NUMCLIENT) x R5)
R7 = R6 [DESTINATION, NOM, PRENOM, E-MAIL]
4. Numéros de tous les clients ayant réservés sur tous les voyages proposés
R8 = RESERVATION[NUMCLIENT, CODEVOYAGE] / VOYAGE[CODEVOYAGE]

Exercice 2

Soit le schéma relationnel de la base de données d’un cinéma :

VILLE (CODEPOSTAL, NOMVILLE)
CINEMA (NUMCINE, NOMCINE, ADRESSE, CODEPOSTAL)
SALLE (NUMSALLE, CAPACITE, NUMCINE)
FILM (NUMEXP, TITRE, DUREE, CODEDIST)
PROJECTION (NUMEXP, NUMSALLE, NUMSEMAINE, NBENTREE)

Formuler en algèbre relationnelle les requêtes suivantes :


1. Titre des films dont la durée est supérieure ou égale à deux heures
R = (FILM : (DUREE ≥ 2))[TITRE]
2. Nom des villes abritant un cinéma nommé “Le Capitole”
R1 = (CINEMA : (NOMCINE = "Le Capitole"))
R2 = (R1 (R1.CODEPOSTAL = VILLE.CODEPOSTAL) x VILLE)[NOMVILLE]
3. Nom des cinémas situés à Lyon ou contenant au moins une salle de plus 100 places
R1 = CINEMA (CINEMA.CODEPOSTAL = VILLE.CODEPOSTAL) x VILLE
R2 = R1 (R1.NUMCINE = SALLE.NUMCINE) x SALLE
R3 = R2 (R2.NOMVILLE = 'Lyon'R2.CAPACITE > 100) [NOMCINE]

version alternative avec union :

R1 = CINEMA (CINEMA.CODEPOSTAL = VILLE.CODEPOSTAL) x VILLE : (NOMVILLE = 'Lyon')
R2 = CINEMA (CINEMA.NUMCINE = SALLE.NUMCINE) x SALLE : (CAPACITE > 100)
R3 = R1[R1.NOMCINE] U R2[R2.NOMCINE]
4. Nom, adresse et ville des cinémas dans lesquels on joue le film “Hypnose” la semaine 18
R1 = (PROJECTION : (SEMAINE = 18))
R2 = (FILM : (TITRE = "Hypnose"))
R3 = (R1 (R1.NUMEXP = R2.NUMEXP) x R2)
R4 = (R3 (R3.NUMSALLE = SALLE.NUMSALLE) x SALLE
R5 = (R4 (R4.NUMCINE = CINEMA.NUMCINE) x CINEMA
R6 = (R5 (R5.CODEPOSTAL = VILLE.CODEPOSTAL) x VILLE
R7 = R6[NOMCINE, ADRESSE, NOMVILLE]
5. Numéro d’exploitation des films projetés dans toutes les salles
R = (PROJECTION[NUMEXP, NUMSALLE] / SALLE)
6. Titre des films qui n’ont pas été projetés
R1 = (FILM[NUMEXP] - PROJECTION[NUMEXP])
R2 = (R1 (R1.NUMEXP = FILM.NUMEXP) x FILM)[TITRE]

Exercice 3

Soit la relation PERSONNE suivante :

PERSONNE
NOMAGEVILLE
Marc 29 Paris
Catherine 32 Lyon
Sophie 54 Paris
Claude 13 Montpellier
Serge 40 Lyon

1. Donnez les résultats des requêtes suivantes :

R1 = PERSONNE : (Age = 30)
R2 = PERSONNE[Age]
R3 = PERSONNE : (Nom = 'Serge') [Age]

2. Exprimez les requêtes suivantes en algèbre relationnelle :

  1. Les personnes (nom, age, ville) qui habitent Paris
  2. Les personnes (nom, age, ville) qui ont moins de 30 ans
  3. Les villes dans la relation PERSONNE
  4. Les noms des personnes habitant à Paris

Exercice 4

Soient R et S les relations suivantes (les attributs A, B et C sont définis sur le domaine des lettres de l’alphabet).


R
AB
a b
a f
c b
d e
S
BC
b c
e a
b d
g b

1. Donnez les résultats des requêtes suivantes :

R1 = R x S : (R.B = S.B)
R2 = R x S : (R.B > S.B)

2. Les équations suivantes sont-elles vraies (justifier) :

R x S : (R.B = S.B) [A, B] = R
R x S : (R.B = S.B) [B, C] = S