190
Chapitre 7 • Applications avancées en SQL
7.5 EXERCICES
7.5.1 Les structures d’ordre
7.1 Construire une table qui à chaque numéro de client, dont le compte est X,
associe le numéro d’un autre client dont le compte Y suit directement X.
Suggestion. On construit la relation d’ordre partiel selon COMPTE.
7.2 Afficher les clients par couples, tels que le premier a un compte inférieur ou
égal au second.
Suggestion. Il s’agit de la fermeture transitive de la relation d’ordre
construite à la question 7.1. On peut cependant la construire de manière très
simple.
7.3 Afficher les couples de PRODUITS consécutifs selon l’ordre croissant des
valeurs de QSTOCK*PRIX.
7.4 On considère la table BOURSE de la figure 7.1. Rechercher les dates
auxquelles le titre a gagné le plus de points par rapport à la veille.
Suggestion. Cette requête serait élémentaire si elle pouvait s’exprimer sur la
table des écarts.
7.5 On complète la table BOURSE par l’ajout d’une colonne TITRE qui
représente un titre. De la sorte, cette table représente l’évolution journalière
d’un ensemble de titres plutôt que d’un seul. Modifier les requêtes
développées jusqu’ici sur la table BOURSE pour qu’elles prennent en compte
cette extension.
7.6 Une table RELEVE, de colonnes CLIENT, MOIS et INDICE, d’identifiant
(CLIENT, MOIS), reprend pour chaque client et pour chaque mois, le relevé de
l’indice de consommation du compteur électrique. Garnir la table
CONSOMMATION, de colonnes CLIENT, MOIS, KWH, de même identifiant
que RELEVE, qui reprend la consommation électrique (nombre de kwh =
différence entre deux index consécutifs) de chaque client pour chaque mois.
7.5.2 Les bases de données actives
7.7 On considère le schéma ci-dessous. La colonne TOTAL de chaque CLIENT
représente, à tout instant, la somme des MONTANTs des ACHATs du CLIENT.
Définir en SQL un schéma qui traduit ces structures et qui gère les valeurs de
la colonne MONTANT via un jeu de déclencheurs. On répertoriera d’abord
tous les événements susceptibles d’affecter la définition de cette colonne, puis
on rédigera pour chacun le déclencheur correctif 17 .
Précédent

- 190/436

Suivant