Bonsoir,
Vous pouvez vous inspirer tout ou partie du diagramme ci-dessous, dans lequel les concepts sont « dépliés » (détaillés) :
La table CLIENT représente les personnes clientes.
La table CLIENT_VIP représente les VIP : elle est une spécialisation de la table CLIENT (voyez l’article MySQL Workbench qui traite de ce sujet). Notez les cardinalités de l’association :
Un client peut être un client VIP et un client VIP est exactement un client.
De même :
Un client peut être un client non VIP et un client non VIP est exactement un client.
Table ACTIVITE_CLIENT_VIP :
Un client VIP peut participer à plusieurs activités quelles qu’elles soient et à une activité quelle qu’elle soit peuvent participer plusieurs clients VIP.
Table ACTIVITE_NON_VIP :
Une activité peut être une activité non VIP et une activité non VIP est exactement une activité.
Table ACTIVITE_CLIENT_NON_VIP :
Un client non VIP peut participer à plusieurs activités non VIP et à une activité non VIP peuvent participer plusieurs clients non VIP.
Table ENCADREMENT :
Un encadrant peut encadrer plusieurs activités et une activité est encadrée par au moins un encadrant.
A noter qu'au stade SQL, un trigger sera à mettre en oeuvre pour s'assurer qu'une personne ne soit pas en même temps VIP et non VIP.
Partager