Académique Documents
Professionnel Documents
Culture Documents
com
Il est fortement conseillé de lire l’ensemble du sujet avant de commencer votre rédaction.
N.B. : Dans tout le devoir le symbole de l’opérateur de jointure utilisé sera le suivant : × Prédicat .
Exercice n°1
• Annales-exam.com
Chaque kilomètre parcouru est facturé en fonction de la catégorie (prix km de la
catégorie) ;
• Chaque client possède un pourcentage de remise qui est appliqué à l’ensemble du montant
de la location (remise client). Le pourcentage de remise au client est négocié chaque
année avec les clients importants sur la base de leur chiffre d’affaires et s’applique à
toutes leurs locations de l’année à venir.
La base de données qui sera constituée doit permettre en particulier les manipulations suivantes :
• Liste des locations d’un client ordonnée chronologiquement et donnant pour chaque
location, la date de début, la date de fin, le kilométrage parcouru, le modèle, la marque et
la catégorie du véhicule. La recherche du client se fait à partir du nom et du numéro de
téléphone.
1
Le schéma relationnel obtenu est le suivant :
2°) Ecrire la requête SQL permettant de déterminer tous les clients qui en une année ont parcouru
plus de 30 000 km en utilisant un véhicule de catégorie B.
3°) Ecrire la requête SQL permettant de déterminer tous les véhicules de plus de 60 000 km
classés par catégorie et par ordre alphabétique sur la marque.
Exercice n°2
Vous gérez une équipe de vendeurs. Vous souhaitez étudier de plus près les notes de frais établies
par leurs soins lors de leurs tournées à l’aide des tables suivantes :
Annales-exam.com
VENDEUR (code_vendeur, nom_vendeur, région)
NOTE_DE_FRAIS (code_note, code_vendeur, date_note, montant_note, nature)
L’attribut nature précise le type de dépense effectuée, par exemple, repas, carburant, fournitures
de bureau, etc…. Un vendeur établit une note de frais pour chaque type de dépenses et pour
chaque jour. Certains vendeurs ne sont pas affectés à une seule région. Dans ce cas, aucune
région n’est indiquée pour eux.
1°) Déterminer la suite d’opérations algébriques permettant de trouver les noms de tous les
vendeurs.
3°) Déterminer la suite d’opérations algébriques permettant d’établir la liste des vendeurs de la
région Aquitaine.
5°) Déterminer la suite d’opérations algébriques permettant d’établir la liste des vendeurs ayant
au moins une note de frais d’un montant supérieur à 1000€.
2
6 °) Ecrire la requête SQL permettant de déterminer les noms des vendeurs dont la somme des
dépenses dépasse 3000 €.
7°) Ecrire la requête SQL permettant de déterminer le nom du vendeur ayant présenté la note de
frais la plus élevée.
SELECT région
FROM vendeur, note_de_frais
WHERE note_de_frais.code_vendeur = vendeur.code_vendeur
GROUP BY région HAVING SUM (montant_note) >= ALL
(
SELECT SUM(montant_note)
FROM vendeur, note_de_frais
WHERE note_de_frais.code_vendeur = vendeur.code_vendeur
GROUP BY région);
EMPLOYE
Annales-exam.com
Idemployé
19
Nom
SILBERMANN
Ville
Rungis
Affectation
D6
1 MIGEON Fontenay D3
7 HUMMER Brétigny D5
4 BRIQUET Fontenay D6
DEPARTEMENT
Iddépartement Description
D5 Personnel
D3 Informatique
D6 Finances
3
3°) Une autre suite possible d'
opérations algébriques équivalente à la requête SQL précédente
s'
écrit :
TABLE_Liste = πVille
(πAffectation,Ville(EMPLOYE)
|×|Affectation=Iddépartement
πIddépartement(σDescription=Informatique(DEPARTEMENT))
)
4°) En quoi cette dernière suite est-elle optimisée par rapport à la première (question 2).
Annales-exam.com