In an entity/relationship model, it is important to be able to identify the attributes and/or relationships in an entity class whose values can uniquely identify instances of that entity class. It may be as simple as a Catalogue Item’s “Item Number”, or it could be a combination of a Line Item’s “Line Number” and its association with a single purchase order.

UML, in its original form, does not recognize the notion of natural unique identifiers for classes. In the object-oriented world, all objects within classes are already identified by the ultimate surrogate key, the Object Identifier (OID). Thus, there is no requirement to label either attributes or relationships as being required to identify instances of a class. In the ...

Get Enterprise Model Patterns: Describing the World (UML Version) now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.