This is basically a question about what are weak entities? When should we use them? How should they be modeled?What is the main difference between normal entities and weak entities? Does weak entities correspond to value objects when doing Domain Driven Design?To help keep the question on topic here is an example taken from Wikipedia that people can use to answer these question:In this example OrderItem was modeled as a weak entity, but I can't understand why it can't be modeled as a normal entity.Another question is what if I want to track the order history (i.e. the changes in it status) would that be a normal or weak entity?
When should we use weak entities when modelling a database?
design;database;database design;entity
Formally a weak entity has the following characteristics.1.  It is existence-dependent on another entity, i.e.,     it cannot exist without the entity with which it has a relationship.2.  It inherits at least part of it's primary key from the entity to which     it is related.     i.e. -> A weak entity's primary key must be a composite key that includes        the primary key of the entity on which it is existence-dependent.I would say that in practice you wouldn't overtly decide to make something a weak entity per se; you would instead structure the data to be representative of whatever you are trying to model. If, after you have done this, you look at a particular entity and it has the characteristics of a weak entity, you can document or diagram it accordingly if for some reason you feel the need to explicitly call this out or for the sake of formality.