Vous êtes sur la page 1sur 2

Examen

 de  rattrapage       Gestion  des  bases  de  données  

On  désire  gérer  le  stock  dans  un  magasin,  la  base  de  données  est  formée  des  
tables  suivantes  (les  attributs  soulignés  sont  les  clés  primaires  des  tables  
considérées)  :  

Fournisseur(NumFournisseur,  NomFourniseur,  AdresseFournisseur)  ;  


Emprunteur(NumEmprunteur,  Nom,  Prénom)  
Équipement(  NumEquipement,  Num_inventaire,  Désignation,  lieuStockage,  
Catégorie,  Etat,  DateLivraison,  NumFournisseur)  
Emprunt(  NumEquipement,  NumEmprunteur,  DateSortie,  DateRestitution)  
Ecrire  des  requêtes  SQL  pour  répondre  aux  questions  suivantes  :  

1. Afficher  l’équipement  dans  le  numéro  d’inventaire  est    32  ;  


……Select  *  from  Equipement  Where  Num_inventaire=32  …………………  1pt  
2. Afficher  tous  les  équipement  dont  l’état  est  «  Défectueux  »  ;      
Select  *  from  Equipement  Where  Etat=’Défectueux’  …………………………  1pt  
3. Donner  le  nom  du  fournisseur  de  l’équipement  qui  a  le  numéro  d’inventaire  54  ;  
Select  NomFournisseur  from  Fournisseur,  Equipement  Where  
Equipement.NumFournisseur=Fournisseur.NumFournisseur  And  
Num_inventaire=54……………………………………………………………………  2pt  
Egalement  la  jointure  peut  se  faire  par  INNER  JOIN  
4. Donner  le  nombre  de  tous  les  équipements  dans  le  magasin  ;      
Select  Count(*)  from  Equipement                      ……………………………………  1pt  
5. Donner  le  nombre  des  équipements  dont  l’état  est  «  Défectueux  »  ;    
Select  Count(*)  from  Equipement  Where  Etat=’Défectueux’      …………  2pts  
6. Donner    les  équipements  fournis  par  le  fournisseur  «  SALIM  »  ;    
Select  Num_inventaire,  Désignation  from  Equipement,  Fournisseur  Where  
Equipement.NumFournisseur=Fournisseur.NumFournisseur  AND  
NomFournisseur=’Salim’    ……………………………………………………………  1pt  
7. Donner  la  liste  des  équipements  livrés  à  partir  du  «  11/09/2010  »  
jusqu’aujourd’hui  et  leurs  fournisseurs  (noms  des  fournisseurs)  ;                            
Select  *  from  Equipement  Where  DateLivraison>#11/09/2010#  
 
Egalement  Si  quelqu’un  fait  la  condition  comme  :    
DateLivraison  between  #11/09/2010#  And  #17/01/2011#  
……………………………………………………………………………  2pts  
8. Donner  l’emprunteur  de  l’équipement  dont  le  numéro  d’inventaire  est  76  ;                          
Select  Nom,  Prenom  from  Equipement  ,  Emprunt,  Emprunteur  Where  
Equipement.NumEquipement=Emprunt.NumEquipement  AND  
Emprunt.NumEmprunteur=Emprunteur.Numemprunteur  AND  
Num_inventaire=76…………………………………………………………………  2pts  
9. Donner  l’état  des  équipements  empruntés  par  «  Hamid  Hilali  »  ;    
Select  Etat  from  Equipement  ,  Emprunt,  Emprunteur  Where  
Equipement.NumEquipement=Emprunt.NumEquipement  AND  
Emprunt.NumEmprunteur=Emprunteur.Numemprunteur  AND  Nom=’Hilali’  And  
Prénom=’Hamid’…………………………………………………………………  2pts  

ENCG  Kénitra   Semestre  S5   Durée  1H  


Examen  de  rattrapage       Gestion  des  bases  de  données  

10. Donner  la  liste  des  équipements  qui  sont  empruntés    à  la  date  «  30  juin  2009  »  et  
qui  ne  sont  pas  encore  récupérés  (ces  équipements  ont  la  date  de  récupération  
encore  nulle)  ;        
Select  Num_inventaire,  Désignation  from  Equipement  ,  Emprunt  Where  
Equipement.NumEquipement=Emprunt.NumEquipement  AND  
DateRestitution=NULL  ;  
11. Afficher  les  noms  et  le  nombre  d’emprunt  pour  les  trois  équipements  les  plus  
empruntés  ;  
Select    TOP  3  *  From  (Select    Désignation,  Count(*)    from  Equipement  ,  Emprunt  
Where  Equipement.NumEquipement=Emprunt.NumEquipement  Group  by  
Désignation  Order  by  Count(*)  Desc)  ;……………………………………………..  2pts  
12. Afficher  pour  chaque  équipement  emprunté,  le  nombre  de  fois  de  qu’il  a  été  
emprunté  entre  le  «  11  septembre  2010  »  et  «  10  janvier  2011  ».  l’affichage  est  
ordonné  par  le  nombre  de  fois  des  emprunts  pour  chaque  équipement  ;            
                                   
Select    Désignation,  Count(*)    from  Equipement  ,  Emprunt  Where  
Equipement.NumEquipement=Emprunt.NumEquipement  AND  DateSortie  
between  #11/09/2010#  and  #10/01/2011#  Group  by  Désignation  Order  by  
Count(*)  Desc  ……………………………………………………………………………  2pts  
 
 
 
 
 
 
 
 
 
Nota  :  les  documents  sont  autorisés  

ENCG  Kénitra   Semestre  S5   Durée  1H  

Vous aimerez peut-être aussi