TRAVAUX DIRIGES
Exercice 1
Sujet : Soit le schéma relationnel suivant :
ARTICLES (NOART, LIBELLE, STOCK, PRIXINVENT)
FOURNISSEURS (NOFOUR, NOMFOUR, ADRFOUR, VILLEFOUR)
ACHETER (NOFOUR#, NOART#, PRIXACHAT, DELAI)
Il vous est demandé de rédiger les requêtes SQL correspondant aux questions qui suivent. Leur
difficulté est grosso modo croissante.
Questions :
1. Numéros et libellés des articles dont le stock est inférieur à 10 ?
2. Liste des articles dont le prix d'inventaire est compris entre 100 et 300 ?
3. Liste des fournisseurs dont on ne connaît pas l'adresse ?
4. Liste des fournisseurs dont le nom commence par "STE" ?
5. Noms et adresses des fournisseurs qui proposent des articles pour lesquels le délai
d'approvisionne- ment est supérieur à 20 jours ?
6. Nombre d'articles référencés ?
7. Valeur du stock ?
8. Numéros et libellés des articles triés dans l'ordre décroissant des stocks ?
9. Liste pour chaque article (numéro et libellé) du prix d'achat maximum, minimum et moyen ?
10. Délai moyen pour chaque fournisseur proposant au moins 2 articles ?
11. Prix minimum de chaque article avec le fournisseur correspondant
12. Listes des articles pouvant être achetés chez plusieurs fournisseurs, avec le prix d'achat et
le délai correspondants
13. Quels sont le ou les fournisseurs qui fournissent le plus de produits ?
Exercice 2 : parc immobilier
1. Rédiger le script SQL de création des tables correspondant à votre MCD et/ou MLD.
2. Rédiger la requête SQL qui calcule la superficie totale de chacun des appartements à partir de
celle de ses pièces.
Exercice 3 :
1. Exercices de sélection
Considérez la relation Personne donnée ci-dessous et calculez les expressions
suivantes.
Rappel d'algèbre booléenne : « ∧ » signifie « et », « ∨ » signifie « ou » et « ¬ »
signifie « non ».
numéro nom prénom
5 Durand Caroline
1 Germain Stan
12 Dupont Lisa
3 Germain Rose-Marie
1. σnuméro≤13Personne
2. σnom="Germain"Personne
3. σprénom="Paul"Personne
4. σ(numéro<6)∧(prénom≠"Stan")Personne
5. σ(numéro=12)∨(nom="Germain")Personne
6. σ¬(numéro<4)Personne
7. σnuméro<12σnuméro>2Personne
8. σnom="Germain"σ(prénom="Stan")∨(prénom="Rose-Marie")Personne
9. σ((prénom≠"Paul")∨(numéro≤6))∧(nom="Germain")Personne
10.σ((prénom≠"Paul")∧(numéro≤6))∨(nom="Germain")Personne
11.σ¬((numéro=12)∨(nom="Germain"))Personne
12.σ¬((numéro<4)∧(nom="Germain"))∧(prénom="Caroline")Personne
2. Exercices de projection
Considérez la relation Personne donnée ci-dessus et calculez les expressions
suivantes.
1. πnuméro,prénomPersonne
2. πnomPersonne
3. πnom,prénomPersonne
4. πnuméro,nom,prénomPersonne
5. πnom,prénomσnuméro<4Personne
6. σ(numéro=12)∨(nom="Germain")πnuméro,nomPersonne
7. πnomσ(numéro=12)∨(nom="Germain")πnuméro,nomPersonne