Esta es básicamente una pregunta sobre qué son las entidades débiles. ¿Cuándo debemos usarlos? ¿Cómo deben ser modelados?
¿Cuál es la principal diferencia entre entidades normales y entidades débiles? ¿Las entidades débiles corresponden a objetos de valor cuando se hace un diseño dirigido por dominio?
Para ayudar a mantener la pregunta sobre el tema, aquí hay un ejemplo tomado de Wikipedia que las personas pueden usar para responder a esta pregunta:
En este ejemplo OrderItem
se modeló como una entidad débil, pero no puedo entender por qué no se puede modelar como una entidad normal.
Otra pregunta es, ¿qué pasa si quiero hacer un seguimiento del historial de pedidos (es decir, los cambios en su estado), ¿sería una entidad normal o débil?
OrderItem
depende,Order
ya que noorderItems
puede existir sin pertenecer a unorder
, pero no puedo ver por qué no puedo usarItemLineNumber
para identificar únicamente un artículo. En realidad, ¿podría hacerItemLineNumber
un autogeneradoint
para asegurar la unicidad y usar una clave foráneaorderID
para vincular las dos entidades?