In the post “The only thing I miss from the ER language”, Jordi stated a difference between E-R diagrams and UML Class diagrams, that is, the support of external identifiers by E-R and internal identifiers by UML, for identifying an instance of a type/class.
I think it maybe appear as a little difference but, in fact, it reflects an essential distinction between E-R models and UML models.
It is known that E-R model (diagram) is a meta-model for data modeling, which the data are about the entities in real words (outside of software application). An entity (an instance of a type of entities) is an individual thing so, has its own special attribute(s) to identifying itself uniquely, called as the key. In deed, the E-R modeling is fact-oriented.
UML, however, is an object-oriented meta-model, the objects is inside of software so it naturally uses the internal identifiers.
This is a meaningful distinction.