Vous êtes sur la page 1sur 3

TD N°2

Exercice N°1 :
Soit le schéma relationnel pour la gestion des réservations d’une agence:
Reservation(numeroReservation ,dateReservation,nomClient,adresseClient,#numeroAppartem
ent)

Appartement(numeroAppartement,superficieAppartement, #codeCategorie)

Categorie(codeCategorie,libelleCategorie)

Ecrire les requêtes SQL suivantes qui permettent de donner :

a. Le nombre total des réservations de l’appartement numéro 45.


b. La moyenne des superficies des appartements de la société.
c. Liste des appartements (numéro, superficie, libelle catégorie) réservés par le client
‘A.Slimani’ pour l’année 2007.

Exercice 2 :

On considère le modèle logique des données suivant :

Dépôt ( NumDépôt, NomDépôt, CodeRégion# )

Région ( CodeRégion, NomRégion, PopulationRégion )

Thème ( NumThème, NomThème )

Livre ( NumLivre, TitreLivre, NumThème# )

Ecrivain( NumEcrivain, NomEcrivain )

Editeur ( NumEditeur, NomEditeur, RaisonSocialeEditeur, AdresseEditeur )

Editer ( NumEditeur#, NumLivre#, AnnéeEdition )

Stocker ( NumLivre#, NumEditeur#, NumDépôt#, QuntitéStock )

Ecrire ( NumLivre#, NumEcrivain# )

Les propriétés suivies de # sont des clés étrangères, et celles soulignées des clés primaires.

Ecrire les requêtes SQL suivantes :

a. Quels sont les livres Qui traitent le thème "sociologie" ?


b. Quelle est la quantité totale stockée dans tous les dépôts du livre "Apprendre C++" ?
c. Quel est le nombre de livres édités par chaque éditeur en l’an 2000 ?
d. Quels sont les livres écrits par "Jean Claude" et édités entre l’année 1986 et 2004 ?

Exercice N°3 :
Le modèle logique de données présenté ci-dessous est utilisé pour la gestion des demandes de
formation des salariés d’une entreprise.

SALARIE (Matricule, Nom, Prenom, DateDerniereFormation)

DEMANDER (Matricule#, CodeFormation#, DateDemande, AvisSuperviseur)

SUIVRE ( Matricule#, CodeFormation# )

FORMATION ( CodeFormation, LibelleFormation, ...)

Les clés primaires sont soulignées, les clés étrangères sont repérées par le caractère #.

Rédiger en langage SQL les requêtes permettant d’obtenir :

a. La liste de tous les salariés qui ont suivi une formation.


b. Liste des formations (libellé de la formation, date de la demande et avis du
superviseur) demandées par le salarié de matricule BB140 depuis le début de l’année
2008.
c. Liste des salariés (nom et prénom du salarié, avis du superviseur) n’ayant pas été
admis à suivre la formation de code AA188.
Exercice 4 :

Soit le modèle logique des données :

Produit ( CodeProduit , NomProduit )

Formation ( CodeFormation , LibelléFormation , NbreMaxStagiaires , CodeProduit# )

Session ( CodeFormation# , NoSession , DateSession , Matricule# )

Salarié ( Matricule , NomSalarié , PrénomSalarié , AdresseSalarié , DateEmbauche )

Stagiaire ( NoStagiaire , NomStagiaire , PrénomStagiaire , NoClient# )

Client ( NoClient , NomClient , AdresseClient , CpClient , VilleClient )

Participer ( CodeFormation# , NoSession# , NoStagiaire# )


Spécialiser ( CodeProduit# , Matricule# )

Les propriétés suivies de # sont des clés étrangères, et celles soulignées des clés primaires.

Ecrire les requêtes SQL suivantes :

a. Quelles sont les formations (LibelléFormation ) concernant le produit 'Visual Basic 6' ? )
b. Quels sont les stagiaires (NoStagiaire ) ayant participer à plus de 4 formations ?
c. Quelles sont les formations (CodeFormation , LibelléFormation ) dont les sessions sont
débutées entre le 01/03/2005 et le 30/04/2005 ?
d. Quels sont les stagiaires (NoStagiaire, NomStagiaire, PrénomStagiaire ) et leurs employeurs
correspondants ( NomClient ) qui ont participé à la session numéro 1 appartenant à la formation
de code 'VB6' ?

Vous aimerez peut-être aussi