Affinement de la solution
Il est évident que la solution naïve décrite dans la section précédente pose de nombreux problèmes.
Elle est totalement inacceptable pour une application sérieuse bien qu’elle soit encore largement employée dans des cas de petite taille ...
Un premier affinage de la solution de la section précédente consiste à utiliser non pas un fichier unique mais quatre fichiers distincts :
- Un premier fichier est dédié au stockage des informations concernant les livres de la bibliothèque.
N°Livre | Titre | Auteur | Éditeur |
- Un second fichier est dédié au stockage des informations concernant les abonnés.
N° Client | Nom | Prénom | Téléphone | Adresse |
- Les informations stockées dans le troisème fichier vont permettre de faire la correspondance entre les deux premiers pour signifier qu’un livre donné est
en cours de prêt par un abonné donné depuis une date donnée.
N°Client | N°Livre | Date-emprunt |
- Enfin, un dernier fichier va permettre de stocker l’historique des prêts. Il est similaire au troisième fichier, mais il comporte en plus une information
relative à la date de retour du livre.
N°Client | N°Livre | Date-emprunt |
Date-retour |
Les choses s'améliorent ! ... Mais il reste du travail.
- On constate que nous avons largement gagné en terme de redondance, très bien!
- On sépare les données concernant les livres et les clients, très bien!
- On a plus un fichier "énorme", on en a 4 plus petits
- Si on désire rechercher un client, la recherche est plus rapide, pas mal!
- On peut même distinguer des clients homonymes, magnifique!
- etc. La solution est meilleure mais...
- Et si un livre est écrit par plusieurs auteurs, comment faire la recherche du livre sur chacun des ses auteurs?
- Et pour faire une recherche sur un auteur et une maison d'édition? Bonne chance...
- En cas de conflit sur la remise d'un livre, comment vérifier rapidement qu'un livre a bien été remis?
- etc.