Merci à nouveau pour les propositions.
Je vais simplement mettre une colonne "createur" et "type_createur" dans evt, y'a encore une chose qui me gêne : la colonne createur ne sera pas un FK...
www.ou-dejeuner.com A chacun son déjeuner ! |Blackprism.org
Donc tu utilises une seule table pour les événements?
Si c'est le cas, puisque tu as des champs propres à chaque événements en fonction du créateur, tu auras des champs vides?
Sinon, de quelle façon tu relies un créateur au type d'événements qui lui correspond?
Bonjour à tous,
Puisque nous sommes dans le forum schéma, autant illustrer les différentes solutions avec des schémas.
Tout d'abord, les 3 solutions initiales de shadeoner (solution 1, schéma de gauche, solutions 2 et 3, schéma de droite).
Ces propositions ne contiennent pas la solution du problème qui tient à la modélisation correcte de cette partie de l'énoncé :
Autrement dit, ce sont les données de l'événement qui diffèrent selon que le créateur est un Utilisateur ou un Partenaire. Donc généraliser Utilisateur et Partenaire en Créateur ne résout pas le problème.Envoyé par shadeoner
Pour moi, la bonne solution est celle que bergie a proposée dès le début :
En effet, puisque les informations de l'événement diffèrent selon le créateur, c'est l'entité Événement qu'il faut spécialiser :Envoyé par bergie
L'entité Événement est identifiée par ID_EVT et constituée des propriétés :
- A : commune à tous les événements ==> entité EVENEMENT
- B : spécifique aux événements créés par les Utilisateurs ==> entité EVT_UTIL
- C : spécifique aux événements créés par les Partenaires ==> entité EVT_PART
Comme conséquence de la spécialisation, le mécanisme d'héritage permet, au niveau logique, de transmettre ID_EVT aux 2 entités spécialisées EVT_UTIL et EVT_PART. Il peut aussi transmettre la propriété A (cette possibilité est rarement utilisée). Ainsi, après transformation du MCD en MLD, les tables sont :
EVENEMENT (ID_EVT, A)
EVT_UTIL (ID_EVT, B, ID_UTIL#)
EVT_PART (ID_EVT, C, ID_PART#)
N'oubliez pas de consulter les Cours Merise et la F.A.Q. Merise
_______________________________________________________
Les Règles du Club Developpez.com
Vous avez votre réponse ? Merci de cliquer sur
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager