La coopérative – algèber relationnelle

On considère une base COOPERATIVE qui possède le
schéma relationnel suivant :

· VINS (Num,
Cru, Annee, Degre)

· PRODUCTEURS (Num, Nom, Prenom, Region)

· RECOLTES (Nprod, Nvin, Quantite)

 

Un vin est caractérisé par un
numéro entier, un cru, une année de production et un degré. L'ensemble des vins
est représenté par la relation VINS. La clé de la relation VINS
est l’attribut Num.

Un producteur est caractérisé par
un numéro entier, un nom, un prénom et une région. L'ensemble des producteurs
est représenté par la relation PRODUCTEURS. La clé de la relation
PRODUCTEURS est l’attribut Num.

Un producteur produit zéro ou
plusieurs vins. Réciproquement, un vin est produit par zéro ou plusieurs
producteurs (éventuellement aucun!). L'ensemble des productions est représenté
par la relation RECOLTES. Un tuple de RECOLTES représente une production
particulière d'un vin de numéro Nvin par un producteur de numéro Nprod en une
certaine quantité La clé de la relation RECOLTES est le groupe
d’attributs (Nvin,Nprod).

 

Ecrire
les requêtes suivantes en algèbre relationnelle et/ou en SQL.

 

1. Donner la liste des
producteurs (nom, prénom, région) triée par nom.

2. Quels sont les producteurs de
la région du Beaujolais?

3. Quels sont les producteurs de
la région du Beaujolais qui ont récolté au moins un vin en quantité supérieure
à 300 litres? On veut les noms et les prénoms des producteurs, avec un tri par
ordre alphabétique.

4. Réaliser le produit cartésien
entre les relations VINS et RECOLTES.

5. Donner la liste des numéros de
vin qui ont un degré supérieur à 12 ou qui ont été produits par le producteur numéro
24.

6. Donner les noms des
producteurs du vin numéro 12, par ordre alphabétique.

7. Quelle est la quantité totale
de vin numéro 12 produite?

8. Donner la liste des crus triée par ordre alphabétique.
Pour chaque cru, on veut son nom et la quantité de vin produite par ce cru.

9. Quels sont les producteurs qui produisent des
vins issus de trois crus différents, au moins? Pour chaque producteur sélectionné,
on veut le nom et le prénom.

10. Quels sont les couples de producteurs (numéro de
chacun des producteurs) qui habitent la même région?

11. Pour un producteur, un cru est significatif s'il
a été récolté en quantité supérieure à 200 litres. Calculer le nombre de crus
significatifs récoltés par chaque producteur (pour ceux ayant produit au moins
un cru significatif). On veut le nom et le prénom pour chaque producteur.

12. Quels sont les producteurs (numéro et nom) qui
ont produit tous les vins?

Ecrire la requête en utilisant la fonction Count et
puis en utilisant le quantificateur exists et l'opérateur logique not.

13. Quels sont les producteurs (numéro et nom) qui
produisent au moins tous les vins produits par le producteur 35?

Ecrire
la requête en utilisant la fonction Count et puis en utilisant le
quantificateur exists et l'opérateur logique not.