Il s'agit essentiellement d'une question sur les entités faibles. Quand devrions-nous les utiliser? Comment devraient-ils être modélisés?
Quelle est la principale différence entre les entités normales et les entités faibles? Les entités faibles correspondent-elles à des objets de valeur lors de la conception pilotée par domaine?
Pour aider à garder la question sur le sujet, voici un exemple tiré de Wikipedia que les gens peuvent utiliser pour répondre à cette question:
Dans cet exemple, a OrderItem
été modélisé comme une entité faible, mais je ne comprends pas pourquoi il ne peut pas être modélisé comme une entité normale.
Une autre question est de savoir si si je veux suivre l'historique des commandes (c'est-à-dire les changements dans son état), serait-ce une entité normale ou faible?
OrderItem
dépendOrder
car aucun neorderItems
peut exister sans appartenir à unorder
, mais je ne vois pas pourquoi je ne peux pas utiliserItemLineNumber
pour identifier uniquement un article?! En fait, je pourrais simplement faireItemLineNumber
une génération automatiqueint
pour assurer l'unicité et utiliser une clé étrangèreorderID
pour lier les deux entités ensemble?!