Soit la base de données relationnelle, PUF, de schéma :
U (NU, NomU, Ville)
P (NP, NomP, Couleur, Poids)
F (NF, NomF, Statut, Ville)
PUF (NP, NU, NF, Quantité)
décrivant les faits suivants :
- U: une usine est décrite par son numéro NU, son nom NomU, la ville Ville dans laquelle elle est située;
- P: un produit est décrit par son numéro NP, son nom NomP, sa Couleur, son Poids;
- F: un fournisseur est décrit par son numéro NF, son nom NomF, son Statut (fournisseur sous-traitant, fournisseur-exclusif, .....), la Ville où il est domicilié;
- PUF: le produit de numéro NP a été livré à l'usine de numéro NU par le fournisseur de numéro NF dans une Quantité donnée.
Exprimer en SQL les requêtes suivantes:
1) Donner le numéro, le nom et la ville de toutes les usines.
2) Donner le numéro, le nom et la ville de toutes les usines de Londres.
3) Donner les numéros des fournisseurs qui approvisionnent l'usine n°1 en produit n°1.
4) Donner le nom et la couleur des produits livrés par le fournisseur n°1.
5) Donner les numéros des fournisseurs qui approvisionnent l'usine n°1 en un produit rouge.
6) Donner les noms des fournisseurs qui approvisionnent une usine de Londres ou de Paris en un produit rouge.
7) Donner les numéros des produits livrés à une usine par un fournisseur de la même ville.
Donner les numéros des produits livrés à une usine de Londres par un fournisseur de Londres.
9) Donner les numéros des usines qui ont au moins un fournisseur qui n'est pas de la même ville.
10) Donner les numéros des fournisseurs qui approvisionnent à la fois les usines n°1 et n°2.
11) Donner les numéros des usines qui utilisent au moins un produit disponible chez le fournisseur n°3 (c'est-à-dire un produit qu'il livre mais pas nécessairement à cette usine).
12) Donner le numéro du produit le plus léger (les numéros si plusieurs produits ont ce même poids).
13) Donner les numéros des usines qui ne reçoivent aucun produit rouge d'un fournisseur londonien.
14) Donner les numéros des fournisseurs qui fournissent au moins un produit fourni par au moins un fournisseur qui fournit au moins un produit rouge.
15) Donner tous les triplets (VilleF, NP, VilleU) tels qu'un fournisseur de la première ville approvisionne une usine de la deuxième ville avec un produit NP.
16) Même question qu'en 15, mais sans les triplets où les deux villes sont identiques.
17) Donner les numéros des produits qui sont livrés à toutes les usines de Londres.
18) Donner les numéros des fournisseurs qui approvisionnent toutes les usines avec un même produit.
19) Donner les numéros des usines qui achètent au fournisseur n°4 tous les produits qu'il fournit.
20) Donner les numéros des usines qui s'approvisionnent uniquement chez le fournisseur n°3.
Pour ces exercices, il faut utiliser la base de données d'essai qui est sur le serveur. Exprimer en SQL les requêtes:
1) Donner les noms des employés et les noms des départements dans lesquels ils travaillent.
2) Donner les noms de tous les employés qui ne travaillent pas à Genève.
3) Donner l'adresse des clients avec un code postal (zip) entre 1000 et 1100.
4) Donner toutes les informations sur les clients qui ont le mot "promotion" dans le commentaire.
5) Donner le nom du client et le nom de l'employé qui est en charge de ce client (lien par repid).
6) Donner les noms des employés qui ne sont pas en charge d'un client.
7) Donner pour chaque commande (order) les "items" qui sont dans la commande.
Donner pour chaque commande (order) les noms des "items" qui sont dans la commande.
9) Donner l'ID du client (custid) et le nombre d'ordre qu'il a fait.
10) Donner le nom du client et le nombre d'ordre qu'il a fait (créer une vue de la requête 9).
11) Pour chaque produit, donner le moyen, le maximum et le minimum d'exemplaires commandés.
12) Pour chaque ordre, donner l'adresse du client, la date de l'ordre, les noms, les quantités et les prix des items et la somme totale de l'ordre.
13) Créer une table pour pouvoir stocker des informations sur des stations météorologiques: nom, description, coordonnées, altitude, pente, exposition, date d'installation de la station.