Envoyé par
CinePhil
Pas exactement !
À ton MCD correspondent les tables suivantes :
Personne (per_id, per_nom...)
objet (obj_id, obj_nom, ....)
Réservation (res_id_obj, res_id_pers, date_début, durée)
Ce qui suppose au passage qu'une personne ne puisse réserver plusieurs fois le même objet.
À ta table Reservation correspond le MCD suivant :
Personne -0,n----Faire----1,1- Reservation -1,1----Concerner----0,n- Objet
Ceci autorise la même personne à réserver plusieurs fois le même objet, ce qui peut être souhaité par le cahier des charges. Mais sans contrainte d'unicité sur le triplet {res_id_obj, res_idpers, date_debut}, la même personne pourra réserver plusieurs fois le même objet à la même date de début !
Si tu veux autoriser une personne à réserver plusieurs fois le même objet mais à des dates différentes, il faut faire le MCD suivant :
Personne -0,n----Réserver----0,n- Objet
[Date] -0,n--------------|
[Date] est ici une sorte d'entité virtuelle qui n'aura pas besoin d'être implémentée en BDD mais qui permet de faire participer la date à la clé primaire de la table associative.
Dans un logiciel de modélisation, tu peux te contenter d'ajouter une colonne date_debut de type DATE et de la marquer comme clé primaire. Le passage au MLD ajoutera les clés étrangères provenant des autres tables à cette clé primaire.
Tu auras alors la table suivante :
Réservation (res_id_obj, res_id_pers, date_début, durée)
Partager