Bonjour
Pour ce qui est de des clés étrangère, c'est une erreur quand j'ai fait le message, effectivement c'est bien client_id et materiel_id,
J'ai pris bonne note. Par contre, dans votre situation, il me semble préférable d'utiliser l'identification relative
Avant de poursuivre, je voudrais savoir si au moment de la location vous connaissez la date de début et la date de fin de location. Si oui, il me paraît intéressant d'ajouter dans la table PRET une colonne NbJoursLocation. Ainsi votre table serait :
table PRET(pret_id, date_debut, date_fin, NbJoursLocation, CLIENT_ID, MATERIEL_ID)
Mais avec le nombre de jours de location, il est possible dans reconstituer dans une vue la date de fin de location. Vous pouvez simplifier la table PRET
table PRET(pret_id, date_debut, NbJoursLocation, CLIENT_ID, MATERIEL_ID)
Il faut maintenant éviter de louer à deux clients différents le même matériel pendant la même période, nous avons une contrainte qu'il faudra traiter avec un trigger.
Pour vérifier mes dires, je vais construire sur Sqlite de votre base de données et vérifier le fonctionnement. En effet, j'utilise très peu Sqlite et ne me souviens plus des limitations de ce produit. Avec une base PostgrSQL, l'implantation se ferait sans souci.
En fonction de vos réponses, je reverrai la modélisation et établirai un prototype de la base.
La colonne identifiant matériel ce n'est pas materiel_id?
S'il n'y a qu'un dizaine de matériel, cette approche peut être suffisante
Bon courage
Partager