Modèle Conceptuel de Données (MCD) Gestion d'une Bibliothèque
B.1 Nouveautés dans l'environnement liées à Windev 16 ..... paye standard)
devraient être supprimés, après avoir corrigé les situations de tous les salariés
concernés, de telle sorte qu'elles ...... <td style="font-family: arial;">Mois de paye :
</td>.
part of the document
Modèle Conceptuel de Données (MCD) Gestion dune Bibliothèque
SHAPE \* MERGEFORMAT
Cardinalités
CIF Fournisseur Livre :
0,n Un fournisseur enregistré dans la base de donné peut fournir 0 ou plusieurs livres
1,1 Un livre est fournit par un et un seul fournisseur
Emprunter Livre Inscrit - Date:
0,n Un livre peut être emprunté par aucun utilisateur ou être emprunté plusieurs fois
0,5 Un inscrit peut emprunté, lorsquil est enregistré dans la base de données de zéro à cinq livres
0,n Un jour donné il peut y avoir aucun ou plusieurs emprunts
Modèle Logique de Données (MLD)
Entités (on reprend les attributs et souligne les identifiants)
Fournisseur (NomFour, AdrFour, VilleFour, CPFour, Type)
Livre (NumLivre, TitreLivre, Auteur(s), Editeur, NbPage, Prix, NomFour)
Inscrit (NumInscr, NomInscr,PrenomInscr,AdrInscr,VillInscr, CPInscr)
Association (on reprend lattribut de lassociation et on ajoute les identifiants des entités associées)
Emprunter (NumLivre, DateEmpr, NumInscr, DateRetEff)
Paramètres
Durée d emprunt 30 jours max
Pénalités 0.15 ¬ par jour de retard
Requêtes
Paramètre1 : Livre(s) non-acheté(s) directement à leur éditeur
SELECT DISTINCT Emprunter.NumInscr, Inscrit.NomInscr, Inscrit.PrenInscr, Emprunter.Numlivre, Livre.TitreLivre, Emprunter.DateEmpr+30 AS [Retour Attendu], (Date()-[Retour Attendu])*0.15 AS Pénalité
FROM Emprunter, Livre, Inscrit
WHERE Emprunter.DateRetEff Is Null And Emprunter.NumInscr=Inscrit.NumInscr And Emprunter.NumLivre=Livre.NumLivre;
Requête1 : Livre(s) non-acheté(s) directement à leur éditeur
SELECT Livre.TitreLivre AS [Livres non-achetés à leur éditeur]
FROM Livre
WHERE (((Livre.Editeur)([Livre].[Nomfour])));
=> Affiche dans une table les livres qui nont pas été achetés directement à léditeur mais par lintermédiaire dun libraire.
Requête2 : Couple(s) Emprunteur, titre du livre emprunté
SELECT DISTINCT Inscrit.NomInscr AS [Nom Emprunteur(s)], Livre.TitreLivre AS [Livre(s) Emprunté(s)], Inscrit.PrenInscr AS [Prénom Emprunteur(s)]
FROM Inscrit, Livre, Emprunter
WHERE (((Inscrit.NumInscr)=[Emprunter].[NumInscr]) AND ((Livre.NumLivre)=[Emprunter].[Numlivre]))
ORDER BY Inscrit.NomInscr, Inscrit.PrenInscr;
=> Affiche une table dans laquelle sont listés tous les livres empruntés et leurs emprunteurs.
Requête3 : Nbre demprunt(s) dun livre par un même utilisateur
SELECT DISTINCT Inscrit.NomInscr AS [Nom Emprunteur(s)], Inscrit.PrenInscr AS [Prénom Emprunteur(s)], Livre.TitreLivre AS [Livre(s) Emprunté(s)], Count(Emprunter.Numlivre) AS [Nb de fois]
FROM Inscrit, Livre, Emprunter
WHERE (((Inscrit.NumInscr)=[Emprunter].[NumInscr]) AND ((Livre.NumLivre)=[Emprunter].[Numlivre]))
GROUP BY Inscrit.PrenInscr, Livre.TitreLivre, (Inscrit.NomInscr)
ORDER BY Inscrit.NomInscr, Inscrit.PrenInscr;
=> Affiche dans une table le nom des emprunteurs, les livres quils ont emprunté et le nombre de fois quils ont emprunté chacun de ces ouvrages.
Requête4 : Titre(s) non-dispo pour cause de prêt et date de retour
SELECT DISTINCT Inscrit.NomInscr, Inscrit.PrenInscr, Livre.TitreLivre, Emprunter.DateEmpr+30 AS [Retour Attendu]
FROM Emprunter, Livre, Inscrit
WHERE (((Emprunter.NumInscr)=Inscrit.NumInscr) And ((Emprunter.Numlivre)=Livre.NumLivre) And ((Emprunter.DateRetEff) Is Null))
ORDER BY Emprunter.DateEmpr+30;
(Les doublons existent toujours, pour connaître le premier exemplaire disponible, il faut choisir la première des lignes qui concernent un ouvrage en particulier)
=> Affiche dans une table, les emprunteurs, les livres quils ont empruntés et la date de retour attendue pour chacun des ouvrages. Pour connaître la date de retour du premier exemplaire en bibliothèque, il suffit de retenir la première date dans la liste qui apparaît.
Requête5 : Etat utilisateur-Emprunt en cours-Pénalités
SELECT DISTINCT Emprunter.NumInscr, Inscrit.NomInscr, Inscrit.PrenInscr, Livre.TitreLivre, Emprunter.DateEmpr+30 AS [Retour Attendu], (Date()-[Retour Attendu])*0.15 AS Pénalité
FROM Emprunter, Livre, Inscrit
WHERE (((Emprunter.NumInscr)=Inscrit.NumInscr) And ((Emprunter.Numlivre)=Livre.NumLivre) And ((Emprunter.DateRetEff) Is Null));
=> Affiche dans une table, la liste des utilisateurs actuels, donc des emprunts en cours et les pénalités encourues aujourdhui.
Requête6 : Formulaire Titre donnée info si dispo
SELECT Livre.TitreLivre, Livre.Auteurs, Livre.Editeur, Livre.Nbpage, Livre.Prix, Livre.Nomfour, Livre.NumLivre
FROM Livre
WHERE (((Livre.NumLivre) Not In (SELECT Numlivre FROM Emprunter)));
SELECT DISTINCT Livre.TitreLivre, Livre.Auteurs, Livre.Editeur, Livre.Nbpage, Livre.Prix, Livre.Nomfour, Emprunter.Numlivre
FROM Livre, Emprunter
WHERE Livre.NumLivre=Emprunter.Numlivre And
((Emprunter.Numlivre) Not In (SELECT Numlivre FROM Emprunter WHERE DateRetEff Is NULL)) AND ((Emprunter.DateRetEff) Is Not Null));
SELECT *
FROM [R61 livre jamais empruntés]
Where livre.titrelivre LIKE "*"+ [saisir Titre du livre] + "*"
UNION SELECT *
FROM [R62 Livre déjà sorti mais dispo]
Where livre.titrelivre LIKE "*" + [saisir Titre du livre] + "*";
=> Affiche dans une table la liste des ouvrages qui nont jamais été emprunté ou qui ont déjà été emprunté mais qui ont été restitué à la bibliothèque.
Modèle Conceptuel de Données (MCD) Gestion dune Médiathèque
(Modifications apportées au MCD gestion dune bibliothèque)
SHAPE \* MERGEFORMAT
La cardinalité Inscrit Emprunter dépend du type douvrage. En effet, dans le cas où il sagirait dun DVD ou dun CD, un inscrit peut emprunté de zéro à trois uvres, sil sagit dun livre il peut en emprunter jusquà cinq à la fois.
Impact de ces modifications sur les Requêtes :
Requête1 : Indiquer tous les ouvrages qui nont pas été achetés directement à leur éditeur/producteur
La requête sera la même, mais on y ajoutera une jointure avec la table « Type Ouvrage » de sorte à faire apparaître le « libellé type » (c'est-à-dire CD, DVD, Livre) et savoir face à quelle type duvre on se trouve. Elle se présentera sous la forme dune table à deux colonnes « Titre et Type ».
Requête2 : Afficher tous les couples (emprunteurs, ouvrages empruntés)
En reprenant la requête de base, on ajoutera là aussi une jointure avec la table « Type Ouvrage » de sorte à faire apparaître le libellé type (c'est-à-dire CD, DVD, Livre) et savoir face à quelle type duvre on se trouve. La table présentera alors les colonnes « Emprunteurs, Ouvrages empruntés et Type ».
Requête3 : Afficher tous les couples (emprunteurs, ouvrages empruntés) et en indiquant le nombre demprunts par un même utilisateur dun même titre
En reprenant la requête de base, on ajoutera là aussi une jointure avec la table « Type Ouvrage » de sorte à faire apparaître le libellé type (c'est-à-dire CD, DVD, Livre) et savoir face à quelle type duvre on se trouve. La table présentera alors les colonnes « Emprunteurs, Ouvrages empruntés, Type et nombre de fois ».
Requête4 : Afficher pour chaque titre non-dispo, le nom de lemprunteur et la date de retour au plus tôt
En reprenant la requête de base, on ajoutera là aussi une jointure avec la table « Type Ouvrage » de sorte à faire apparaître le libellé type (c'est-à-dire CD, DVD, Livre) et savoir face à quelle type duvre on se trouve. La table présentera alors les colonnes « Emprunteurs, Ouvrages empruntés, Type et la date de retour attendu ».
Même problème que celui rencontré précédemment « deux dates »
Requête5 : Afficher la liste des emprunts en cours, les emprunteurs, les dates de retour attendu et les pénalités éventuelles
En reprenant la requête de base, on ajoutera là aussi une jointure avec la table « Type Ouvrage » de sorte à faire apparaître le libellé type (c'est-à-dire CD, DVD, Livre) et savoir face à quelle type duvre on se trouve. La table présentera alors les colonnes « Emprunteurs, Ouvrages empruntés, Type,la date de retour attendu et les Pénalités ».
Requête6 : Afficher les oeuvres non empruntés correspondant à la demande
En reprenant la requête de base, on ajoutera là aussi une jointure avec la table « Type Ouvrage » de sorte à faire apparaître le libellé type (c'est-à-dire CD, DVD, Livre) et savoir face à quelle type duvre on se trouve. La table présentera alors les colonnes « Titre, Auteurs/interprètes/réalisateur, Editeur/producteur, Nombre de pages/durée, Prix, Nom du fournisseur, Numéro de luvre »
Avec cet aménagément de la bibliothèque en médiathèque, les différents outils de gestion ne sont pas modifiés en profondeur. Il sagit en effet le plus souvent de reprendre les anciennes requêtes et de les modifier grâce à une jointure avec la table « Type ouvrage » pour voir dans la table-résultat de la requête sil sagit bien dun livre ou dun DVD ou dun CD.
Dans le cas où, on avait voulu gérer indifférement les DVD, des CD, des livres, on aurait pu créer deux autres bases de données sur le modèle de la première (Gestion dune Bibliothèque), en remplaçant simplement livre par son équivalent (doù la possibilité de réaliser la gestion de la nouvelle base de données comme nous lavons présenté).
On pourrait également ajouter une entité DVD et une entité CD avec tous les attributs quelles pourraient avoir. Mais dans ce cas, la réécriture des requête serait toute autre, nécessitant trois requêtes, suivant quil puisse sagir dun DVD, dun Cd ou dun livre.
0,n
0,5
0,n
1,1
0,n
FOURNISSEUR
NomFour
AdrFour
VilleFour
CPFour
LIVRE
NumLivre
TitreLivre
Auteur(s)
Editeur
NbPage
Prix
INSCRIT
NumInscr
NomInscr
PrenomInscr
AdrInscr
VillInscr
CP
Date
DateEmpr
CIF
Emprunter
DateRetEff
PARAMETRE
DuréeEmprunt
Pénalité
Pénalité
DuréeEmprunt
LibelTyp
CodeTyp
TYPE OUVRAGE
DateRetEff
Emprunter Livre DVD CD
CIF
DateEmpr
Date
CP
VillInscr
AdrInscr
PrenomInscr
NomInscr
NumInscr
INSCRIT
Prix
NbPag Durée(min)
NomActeur
Editeur ou producteur
Auteur Inter ou Réal
TitreOuv
NumOuv
OUVRAGE
CPFour
VilleFour
AdrFour
NomFour
"#=>?@ABCD[\]_`abpqr ø ý 6
7
8
9
:
Y
[
\
c
d
óèÚèÖÏÖËÏÿñꦢˢË
¢Ëó|sibË[hØOhàhØO6]h»eDh»eD6]hà>*CJ aJ h3.b>*CJ aJ
h@úÿ
hØO@úÿhØOhØO@úÿhØOh3.b>*hàh4{h»eDh3.bjha'æUmHnHuha'æjha'æUhØOh3.bh3.bh3.bh3.bh3.b6CJ ]aJ h3.bh3.bCJ aJ h3.bh3.b>*CJ aJ #>?@ABC`abcdqrsä > ù 7
8
9
:
Z
[
÷õõõõõõõõõõ÷õõõõõõõõðððõõèõ$a$gdÄ0gdØO$a$gdØO-F\ýý[
\
Ô
abËR°²´2
4
_~ðñòýýôôôïïôïïôôôôêêêâêÝÝÝÕê$a$gdÄ0gd{c
&FgdÄ0gd8Ïgd»eDÄ`Ägd»eD
§
©
°
Û
ã
%-V`bmnÊËÕÖÞàèêòÿ´ÈÌ0
2
ïðñòùõíõíõùíùõéâÞÕÎÇÀ¸À¸À¸Àéâ®é¦{ws{lhshÄ0h{ch8Ïh8Ïh{ch{ch{ch8Ïh8Ï>*h8Ï>*CJ aJ h19h19CJ aJ h19CJ aJ h»eDCJ aJ h»eDh»eD6]h»eDh»eD>*h»eDh»eDh3.bh»eDhØOh»eDhØOhØO@ôÿhØOh»eD6]h»eDh3.bh3.b>*h3.bh3.bh3.b'òúý./0©ª)*,4def¦FGHôõËÌûü °¸æçè79¼¿ÇÉÊïð`®¯°oúóïëãëÜØÑëÉóëóëØëÅÉóëóÜëØëØúó¾ïë´ëØëÉóúãïëØ¯ÉóªóÉëhhh8ÏmH sH h8Ïh8ÏmH sH h{c>* hÄ0>*h{ch{c6]h{ch8Ïh19h8Ïh8Ï>*h{chÄ0hÄ0h8Ïh8Ïh8Ïh{c>*h8Ïh{ch{ch{c h8Ï>*6ò/0ozª«*+,ef÷x¦GH#
Æôõ÷òòòòêêòò÷òòòòòêòò÷òòòòòòòê$a$gdÄ0gd8Ï
&FgdÄ0ÌÍ>]Üü ®¯°çè¸89º»¼½¾¿úúòúííííåúÝúúòúíííúÝúúúúú$a$gdÄ0$a$gd{cgd{c
&FgdÄ0gd8Ï¿ðñ`k¯°,Boòóôý^nÖ×opqrs÷îéééäääääîîßßßßßßß×îîîî$a$gdÄ0gd{cgdgd8ÏÄ`Ägd»eD
&FgdÄ0opñòóôÕÖnost¥°±Ñëìíîïðñòó
øíâÚÏËÇüµ±¥µ}s}µÇohÇaYUYhjhUhhhh
]h
]hÕhÕ6]hÕh196CJ ]aJ h3.bh196CJ ]aJ h3.bh19CJ aJ h3.bh19>*CJ aJ h19hh8ÏhhÄ0hÄ0h8Ïh{ch8Ïh19mH sH h8ÏmH sH hh8ÏmH sH hhmH sH hmH sH s±íîïðñò12345úîååàååÞÞÞÞÞÒÞÊÅÅÅŽ
&Fgd/Ëgdÿt$a$gdÿt$Ä`Äa$gd6 gd
]Ä`Ägd»eD$Ä`Äa$gdÕgd19
ÿ15=Ç Ï
!!!`!b!n!£"×"Ø"*#,#8#$&$$$Ù$Û$ç$Ö%×%&&&òêâÛÔÐÌÈÄȽ̹°Ä¨Ä ĨĨÄÄÄÌwph/Ë6]h/Ëh/Ë6]h/Ëh/Ë>*hÿth/Ëh/Ëhÿthÿt hÿt>*h/Ëhÿt>*hÿthÿt>*hÿt>*CJ aJ hÕhXAJhXAJhÿthhXAJh8ÏhXAJh8Ïhh8ÏjhUjhUjhUmHnHu,Å Æ Ç !!B"C"D"Ø"Ù"$$$$$Ö%×%&&&öêââ×âêââ×ÏêÏÏÄÏê¿·¿¿$a$gd/Ëgd/Ë$
&Fa$gd/Ë$a$gd/Ë$
&Fa$gdÿt$a$gdÿt$h`ha$gd6 h^hgd6 &&&ç&é&õ&ó'û';(=(>(((())Ä)Æ)Ç)8+×+ñ+----¡-£-¦-¨-«--°-²-½-¿-Æ-È-Ï-Ñ-Ú-Ü-â-ä-é-ë-ó-õ-ÿ-.
......!.#.*.,.4.÷óìóìó÷åóåìóìóåóáóáÝÓÝ̶²¶²¶²¶²¶²¶²²¶²¶²¶²¶²²¶²¶²¶²¶²¶²¶².ha'æ>*B*CJOJQJ^JaJmH phsH ha'æ+ha'æB*CJOJQJ^JaJmH phsH h/Ëh5ãh5ãh5ã6]h5ãh6 h/Ëh/Ëhÿth/Ëh/Ëh/Ëh/Ë>**B*CJOJQJ^JaJmH phsH +ha'æB*CJOJQJ^JaJmH phsH ha'æ