Information inheritance
ER modeling provides no direct way of specifying reuse of an entity. However, for reasons of efficiency and simplicity reuse is needed.
This article covers relationships corresponding to the Extension stereotype, see
how to use stereotypes for more information.
In the below example we have a command queue for controlling a vehicle. The vehicle accepts the commands Gas, Steer, Gear and Brake. The model is based on the assumption that the various commands are quite different, i.e. carry different data, but still have information in common that's stored in Command entity itself.
If there are no differences between the command entities a better solution would have been to supply the Command entity with a Type attribute for specifying what command it represents and skip the different command entities. If, on the other hand, the commands have nothing in common we could have related each individual entity (Gas, Gear, Brake, Steer) directly to the Queue and skipped the Command entity although this would pose a problem when it comes to sorting and sequencing the commands.
A key observation here is that the "1 to 0-1"-relation is considered asymmetric by RISE and is handled the same way as a one-to-many relation. Thus, in a relational database it's implemented by foreign key column in the entity (table) on the optional (circle) side of the relation, e.g.
Gas.Command = Command.ID. See,
ER for database developers for further details.
Related articles: