Está en la página 1de 22

Exemple: gestion dune

bibliothque
Les livres sont identifis par un code catalogue qui leur est
affect l'achat et par un code rayon qui permet de les
situer dans la bibliothque. Grce au systme informatique,
un abonn doit pouvoir retrouver un livre dans les rayons
en connaissant son titre. L'abonn doit aussi pouvoir
connatre la liste des livres d'un auteur ou la liste par
diteur ou encore la liste par genre (science-fiction,
policier).

Chaque livre est achet en un ou plusieurs exemplaires (on
stocke la date d'acquisition). Tous les exemplaires d'un
mme livre ont un code rayon diffrent mais le mme code
catalogue. Les diffrents exemplaires d'un mme livre
peuvent ventuellement provenir de diffrents diteurs.
Pour suivre de prs l'tat du stock, la bibliothque utilise
un code indiquant l'tat d'usure de chaque livre. Ce code
d'usure est ventuellement mis jour par un bibliothcaire
chaque retour d'un livre en prt.
On souhaite galement mettre en place une procdure de
recherche documentaire par mots cls. Un ouvrage peut
avoir un nombre quelconque de mots cls.
La bibliothque utilise aussi un fichier des abonns
organis par numro matricule qui contient notamment les
coordonnes (nom, adresse et tlphone) de l'abonn, sa
date d'adhsion, sa date de naissance.
La gestion de prts implique la possibilit de connatre
tout moment la liste des livres dtenus par un abonn et
inversement, qu'on puisse retrouver le nom des abonns
dtenant un livre non prsent dans les rayons.

Les prts sont accords pour une dure de quinze jours,
ventuellement renouvelable, si aucune demande de ce
livre n'a eu lieu entre-temps. Il faut donc connatre pour
chaque livre emprunt, la date du prt et la date de retour.
La gestion des prts ncessite aussi la mmorisation des
livres demands par un abonn. Cet abonn sera prioritaire
lors du retour du livre en prt. Sa priorit est maintenue
pendant une semaine, partir de la date de retour du livre.

DATE
Date
1,n
0,n
1,n
ABONNE
No abonn
Nom
Prnom
Adresse
Date naissance
Date adhsion
Tlphone

EXEMPLAIRE
Code rayon
Usure
Date acquisition
Anne dition

Emprunt
Date retour
0,n
LIVRE
Code catalogue
Titre

AUTEUR
Code auteur
Nom auteur
Prnom auteur
EDITEUR
Code diteur
Nom diteur
Adresse diteur
THEME
Code thme
Intitul
MOT CLE
Code mot cl
Mot cl
Porte sur
Dcrit
Ecrit Produit
Correspond
1,n
1,n
1,1
1,n 1,1
1,n
1,1
Demande
0,n
0,n
0,n
0,n
0,n
Taches automatiser
Rservation dun livre
Emprunt dun livre
Retour dun livre emprunt
Prolongation dun emprunt (dun livre)
Rechercher livres
Achat livres
Adhsion dun abonn
Rservation
demande
D en attente
Enregistrer D
Identifier abonn
Identifier livre
Enregistrer demande
Toujours
Emprunt
D utilise
Enregistrer E
Identifier abonn
Identifier exemplaire(s)
Verifier D active et
enregistrer lutilisation
Enregistrer emprunt(s)
Toujours D active
Emprunt
demande
E retourn
D active
Enregistrer R
Identifier exemplaire(s)
Verifier D en attente et
changer en D active
Enregistrer retour(s)
Toujours D en attente
Retour
livre
D inutilise
Annuler D
Identifier D active
et changer
en D inutilise
Toujours
D active
Limite
depasse

Archiver
Utiliser
Emprunt
sur la base
de la
rservation
utilise
Crer
en attente
No abonn
Code catalogue
Date demande

Activer
Retour
dun
exemplaire
avec le
code
catalogue
demand
active
Limite: date
Utilise:logique
Date retour + 7
Table DEMANDES Demande Retour Emprunt
Expirer
expire
Limite < now()
archive
DemandesEnAttente
SELECT
FROM DEMANDES
WHERE Limite Is Null And Utilise=False
ORDER BY [Date demande];
DemandesActives

SELECT
FROM DEMANDES
WHERE Limite Is Not Null And Limite >=Date() And Utilis=False;
DemandesUtilises

SELECT
FROM DEMANDES
WHERE Utilise=Yes;
DemandesExpires

SELECT
FROM DEMANDES
WHERE Limite < Date() AND Utilise =False;
DemandesArchives

SELECT
FROM DEMANDES
WHERE Limite < Date() OR Utilise =Yes;
Enregistrer demande
No abonn
Nom et prnom
Adresse
No tlphone
Code catalogue
Titre et auteur
Enregistrer
Enregistrer demande
Recherche abonn
No abonn
Nom et prnom
Recherche livre
Code catalogue
Titre + auteur
Enregistrer demande (No abonn, Code catalogue,
date du jour)
s'il n'existe dj une demande pour le mme livre,
faite par le mme abonn

ULT
ULT
ULT
Demandes en attente
Procdure logique
DEMANDES(Code catalogue, No abonn, Date demande, Limite, Utilise)
DATE
Date
ABONNE
No abonn
Nom
Prnom
Adresse
Date naissance
Date adhsion
Tlphone

0,n
LIVRE
Code catalogue
Titre

1,n
Demande
0,n
0,n
0,n
Limite
Utilise
AUTEUR
Code auteur
Nom auteur
Prnom auteur
Ecrit
AbonnesActifs(No abonn,NomEtPrnom, Adresse, Date naissance, Date adhsion,
Tlphone)
LivresEnBibliotque(Code catalogue, Titre, Nom auteur, Prnom auteur)
Dbut procdure
DEMANDE rservation

saisir le code catalogue
saisir le titre (complet ou partiel)
recherche sur titre, slection sur liste
autre abonn autre livre slection abandon
ULT RECHERCHE LIVRE
OU

saisir le numro
saisir le nom (complet ou partiel)
recherche sur nom, slection sur liste
ULT RECHERCHE ABONNE
autre abonn autre livre slection abandon
OU
Fin procdure
DEMANDE rservation

vrifier demande identique
ajouter demande en attente
ULT ENREGISTRER DEMANDE
Existe dj OK
ET
Message erreur
Dbut procdure
DEMANDE rservation

saisir le code catalogue
saisir le titre (complet ou partiel)
recherche sur titre, slection sur liste
autre abonn autre livre slection abandon
ULT RECHERCHE LIVRE
OU

saisir le numro
saisir le nom (complet ou partiel)
recherche sur nom, slection sur liste
ULT RECHERCHE ABONNE
autre abonn autre livre slection abandon
OU
Fin procdure
DEMANDE rservation

vrifier demande identique
ajouter demande en attente
ULT ENREGISTRER DEMANDE
Existe dj OK
ET
Message erreur
SELECT DEMANDES.[No abonne], DEMANDES.[Code catalogue],[Date demande],
Trim([Nom]) & " " & Trim([Prnom]) AS NomPrenom, Adresse, Tlphone,Titre
FROM LIVRES INNER JOIN
(ABONNES INNER JOIN DEMANDES ON ABONNES.[No abonne] = DEMANDES.[No abonne])
ON LIVRES.[Code catalogue] = DEMANDES.[Code catalogue];



Dbut procdure
DEMANDE rservation

saisir le code catalogue
saisir le titre (complet ou partiel)
recherche sur titre, slection sur liste
autre abonn autre livre slection abandon
ULT RECHERCHE LIVRE
OU

saisir le numro
saisir le nom (complet ou partiel)
recherche sur nom, slection sur liste
ULT RECHERCHE ABONNE
autre abonn autre livre slection abandon
OU
Fin procdure
DEMANDE rservation

vrifier demande identique
ajouter demande en attente
ULT ENREGISTRER DEMANDE
Existe dj OK
ET
Message erreur

SELECT Count([No abonne]) AS NbreDemandesSimilaires
FROM DemandesEnAttente
GROUP BY [Code catalogue], [No abonne]
HAVING [Code catalogue])=[forms]![demandes0]![Code catalogue] AND
[No abonne]=[forms]![demandes0]![No abonne];

Dbut procdure
DEMANDE rservation

saisir le code catalogue
saisir le titre (complet ou partiel)
recherche sur titre, slection sur liste
autre abonn autre livre slection abandon
ULT RECHERCHE LIVRE
OU

saisir le numro
saisir le nom (complet ou partiel)
recherche sur nom, slection sur liste
ULT RECHERCHE ABONNE
autre abonn autre livre slection abandon
OU
Fin procdure
DEMANDE rservation

vrifier demande identique
ajouter demande en attente
ULT ENREGISTRER DEMANDE
Existe dj OK
ET
Message erreur
Procdure
DEMANDE
s

saisir le numro
saisir le nom (complet ou partiel)
recherche sur nom, slection sur liste
ULT RECHERCHE ABONNE
autre abonn autre livre slection abandon
AbonnesActifs(No abonn,NomEtPrnom, Adresse, Date naissance, Date adhsion,
Tlphone)

saisir le numro
saisir le nom (complet ou partiel)
recherche sur nom, slection sur liste
ULT RECHERCHE ABONNE
autre abonn autre livre slection abandon
AbonnesActifs(No abonn,NomEtPrnom, Adresse, Date naissance, Date adhsion,
Tlphone)

También podría gustarte