SlideShare une entreprise Scribd logo
1  sur  4
Université Montesquieu Bordeaux IV 2006-2007
Licence 3 - Gestion
Correction travail à rendre
Présentation
Dans ce travail, on se propose de réaliser une base de données pourgérer les emprunts dans une bibliothèque.
Une petite bibliothèque souhaite informatiser la gestion de son fonds documentaire et de ses emprunts. Dans cette
perspective, le bibliothécaire, qui n'est pas un informaticien, a rédigé le texte suivant :
Grâce à cette informatisation, un abonné devra pouvoir retrouver un livre en connaissant son titre. Il doit aussi
pouvoir connaître la liste des livres d'un auteur. Un abonné a le droit d'emprunter au maximum dix ouvrages
simultanément. Les prêts sont accordés pour une durée de quinze jours. La gestion des prêts doit permettre de
connaître, à tout moment, la liste des livres détenus par un abonné, et inversement, de retrouver le nom des
abonnés détenant un livre absent des rayons. Un livre peut être écrit par plusieurs auteurs. Chaque livre est acheté
en un ou plusieurs exemplaires.
Travail à réaliser
Le travail devra être fait en deux étapes :
Etape 1 :
Le MCD suivant permet de décrire la situation de gestion d’emprunt pour une bibliothèque.
Université Montesquieu Bordeaux IV 2006-2007
Licence 3 - Gestion
Le modèle relationnel correspondant à ce MCD est
Abonne (Num_Abonne, nom, adresse, téléphone, mail)
Auteur (Num_Auteur, Nom_Auteur)
Livre (Num_Livre, titre, date_parition)
Exemplaire (Num_Exemplaire, date_achat, #Num_Livre)
Ecrire (#Num_Livre, #Num_Auteur)
Emprunt (#Num_Abonne, #Num_exemplaire, Date_debut, Date_fin)
Etape 2 :
Ecrire les requêtes SQL permettant de :
1. Donner la liste des titres des livres.
Select titre
From Livre
Livre
Num_Livre
titre
date_parition
…..
Exemplaire
Num_Exemplaire
date_achat
….
Abonne
Num_Abonne
nom
adresse
téléphone
mail
Auteur
Num_Auteur
Nom_Auteur
……
Exister
Emprunter
date_debut
date_Fin
Ecrire
1,n
1,n
0,n
0,n
1,1
1,n
Université Montesquieu Bordeaux IV 2006-2007
Licence 3 - Gestion
2. Donner la liste des noms des abonnés.
Select nom
From Abonne
3. Donner la liste des adhérents ayant emprunté des livres de Grin.
SELECT DISTINCT Abonne.nom
FROM Abonne, Emprunt, Auteur, Ecrire, exemplaire
WHERE Abonné.Num_Abonne = Emprunt.Num_Abonne
And Auteur.Num_Auteur= Ecrire.Num_Auteur
And Exemplaire.Num_Livre = Ecrire.Num_Livre
And Exemplaire.Num_ Exemplaire = Emprunt.Num_Exemplaire
And Auteur.Nom_Auteur="Grin";
4. Donner la liste des abonnés qui n’ont jamais rien emprunté
Select nom
From Abonne,
Where Abonne.Num_AbonneNOT IN
(Select Num_Abonne
From Emprunt
Where Abonne.Num_Abonne= Emprunt.NumAbonne)
5. Donner le nom de l’abonné qui le plus de prêts
Dans un premier lieu on établit une requête qui détermine pour chaque abonné le nombre de prêt qui l’a
effectué ;
Soit req1 le nom de cette requête
SELECT Abonne.Num_Abonne, count(Num_Exemplaire) AS nbrEmprunt
FROM Emprunt, Abonne
WHERE Abonne.Num_Abonne=Emprunt.Num_Abonne
GROUP BY Abonne.Num_Abonne;
Université Montesquieu Bordeaux IV 2006-2007
Licence 3 - Gestion
Ensuite, nous déterminons le maximum des emprunts ;
Soit req2 le nom de cette requête
SELECT max(nbrEmprunt) AS MaxEmprunt
FROM req1;
Enfin, nous déterminons le nom de l’abonne qui a le plus d’emprunt
SELECT Abonne.nom
FROM Abonne, req1, req2
WHERE req1.nbrEmprunt=req2.MaxEmprunt
And Abonne.Num_Abonne=req1.Num_Abonne;
On pourra également en une seule requête déterminer l’abonné qui a le plus de prêt ;
SELECT TOP 1 Abonne.nom
FROM Empruntpret, Abonne
WHERE Abonne.Num_Abonne=Emprunt.Num_Abonne
GROUP BY Abonne.nom
ORDER BY Count(Emprunt.Num_Exemplaire) DESC;

Contenu connexe

Tendances

exercices base de données - sql
exercices  base de données - sql exercices  base de données - sql
exercices base de données - sql Yassine Badri
 
Modélisation uml avec le diagramme de classe
Modélisation uml avec le diagramme de classeModélisation uml avec le diagramme de classe
Modélisation uml avec le diagramme de classeamat samiâ boualil
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Ben Abdelwahed Slim
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)abdellah12
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: MatriceInforMatica34
 
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...ATPENSC-Group
 
Support de cours ACCESS
Support de cours ACCESSSupport de cours ACCESS
Support de cours ACCESSChingongou ­
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du meriseYassine Badri
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence Yassine Badri
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionLilia Sfaxi
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfslimyaich3
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptxOkanimegamers
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionInes Ouaz
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 

Tendances (20)

Access tables
Access tablesAccess tables
Access tables
 
exercices base de données - sql
exercices  base de données - sql exercices  base de données - sql
exercices base de données - sql
 
Modélisation uml avec le diagramme de classe
Modélisation uml avec le diagramme de classeModélisation uml avec le diagramme de classe
Modélisation uml avec le diagramme de classe
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
Cours Algorithme: Matrice
Cours Algorithme: MatriceCours Algorithme: Matrice
Cours Algorithme: Matrice
 
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
Fiche de TP 3 sur les bases de données avec les SGBD(Système de Gestion des B...
 
Support de cours ACCESS
Support de cours ACCESSSupport de cours ACCESS
Support de cours ACCESS
 
exercices Corrigées du merise
exercices Corrigées du  meriseexercices Corrigées du  merise
exercices Corrigées du merise
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Tp 2 vecteur et matrice
Tp 2 vecteur et matriceTp 2 vecteur et matrice
Tp 2 vecteur et matrice
 
Analyse abc
Analyse abcAnalyse abc
Analyse abc
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Correction Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdfCorrection Examen 2016-2017 POO .pdf
Correction Examen 2016-2017 POO .pdf
 
L’algorithme 1.pptx
L’algorithme 1.pptxL’algorithme 1.pptx
L’algorithme 1.pptx
 
Examen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correctionExamen principal - Fondement Multimedia - correction
Examen principal - Fondement Multimedia - correction
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 

Corrige access

  • 1. Université Montesquieu Bordeaux IV 2006-2007 Licence 3 - Gestion Correction travail à rendre Présentation Dans ce travail, on se propose de réaliser une base de données pourgérer les emprunts dans une bibliothèque. Une petite bibliothèque souhaite informatiser la gestion de son fonds documentaire et de ses emprunts. Dans cette perspective, le bibliothécaire, qui n'est pas un informaticien, a rédigé le texte suivant : Grâce à cette informatisation, un abonné devra pouvoir retrouver un livre en connaissant son titre. Il doit aussi pouvoir connaître la liste des livres d'un auteur. Un abonné a le droit d'emprunter au maximum dix ouvrages simultanément. Les prêts sont accordés pour une durée de quinze jours. La gestion des prêts doit permettre de connaître, à tout moment, la liste des livres détenus par un abonné, et inversement, de retrouver le nom des abonnés détenant un livre absent des rayons. Un livre peut être écrit par plusieurs auteurs. Chaque livre est acheté en un ou plusieurs exemplaires. Travail à réaliser Le travail devra être fait en deux étapes : Etape 1 : Le MCD suivant permet de décrire la situation de gestion d’emprunt pour une bibliothèque.
  • 2. Université Montesquieu Bordeaux IV 2006-2007 Licence 3 - Gestion Le modèle relationnel correspondant à ce MCD est Abonne (Num_Abonne, nom, adresse, téléphone, mail) Auteur (Num_Auteur, Nom_Auteur) Livre (Num_Livre, titre, date_parition) Exemplaire (Num_Exemplaire, date_achat, #Num_Livre) Ecrire (#Num_Livre, #Num_Auteur) Emprunt (#Num_Abonne, #Num_exemplaire, Date_debut, Date_fin) Etape 2 : Ecrire les requêtes SQL permettant de : 1. Donner la liste des titres des livres. Select titre From Livre Livre Num_Livre titre date_parition ….. Exemplaire Num_Exemplaire date_achat …. Abonne Num_Abonne nom adresse téléphone mail Auteur Num_Auteur Nom_Auteur …… Exister Emprunter date_debut date_Fin Ecrire 1,n 1,n 0,n 0,n 1,1 1,n
  • 3. Université Montesquieu Bordeaux IV 2006-2007 Licence 3 - Gestion 2. Donner la liste des noms des abonnés. Select nom From Abonne 3. Donner la liste des adhérents ayant emprunté des livres de Grin. SELECT DISTINCT Abonne.nom FROM Abonne, Emprunt, Auteur, Ecrire, exemplaire WHERE Abonné.Num_Abonne = Emprunt.Num_Abonne And Auteur.Num_Auteur= Ecrire.Num_Auteur And Exemplaire.Num_Livre = Ecrire.Num_Livre And Exemplaire.Num_ Exemplaire = Emprunt.Num_Exemplaire And Auteur.Nom_Auteur="Grin"; 4. Donner la liste des abonnés qui n’ont jamais rien emprunté Select nom From Abonne, Where Abonne.Num_AbonneNOT IN (Select Num_Abonne From Emprunt Where Abonne.Num_Abonne= Emprunt.NumAbonne) 5. Donner le nom de l’abonné qui le plus de prêts Dans un premier lieu on établit une requête qui détermine pour chaque abonné le nombre de prêt qui l’a effectué ; Soit req1 le nom de cette requête SELECT Abonne.Num_Abonne, count(Num_Exemplaire) AS nbrEmprunt FROM Emprunt, Abonne WHERE Abonne.Num_Abonne=Emprunt.Num_Abonne GROUP BY Abonne.Num_Abonne;
  • 4. Université Montesquieu Bordeaux IV 2006-2007 Licence 3 - Gestion Ensuite, nous déterminons le maximum des emprunts ; Soit req2 le nom de cette requête SELECT max(nbrEmprunt) AS MaxEmprunt FROM req1; Enfin, nous déterminons le nom de l’abonne qui a le plus d’emprunt SELECT Abonne.nom FROM Abonne, req1, req2 WHERE req1.nbrEmprunt=req2.MaxEmprunt And Abonne.Num_Abonne=req1.Num_Abonne; On pourra également en une seule requête déterminer l’abonné qui a le plus de prêt ; SELECT TOP 1 Abonne.nom FROM Empruntpret, Abonne WHERE Abonne.Num_Abonne=Emprunt.Num_Abonne GROUP BY Abonne.nom ORDER BY Count(Emprunt.Num_Exemplaire) DESC;