Skip to content

Association Class

Leon Starr edited this page Feb 21, 2022 · 4 revisions

An Association Class defines a set of instances where each instance represents a mapping between two instances on each side of an Association.

The Association Class Dog License, for example, will be populated with a new instance each time a mapping is established between a Person and a Dog on the owns Association. In other words, the new ownership of a Dog will result in a new instance in the Dog License Association Class.

When a Dog License is deleted, the corresponding mapping between Person and Dog would also be eliminated.

Under no circumstances may a Dog License instance exist independently of a Person — owns — Dog instance mapping.

To play the role of Association Class, a Class must be bound to one, and only one Association.

An Association bound to an Association Class consists of one or two participating classes and one Association Class. In the Dog License example, Dog and Person would play the roles of participating classes and Dog License would be the Association Class. If the Association is reflexive, there will be only one participating class and one Association Class.

As shown below, a Class may not play both the participating class role and the Association Class role on the same Association. Furthermore, a Class may not play the Association Class role on more than one Association.

Identifiers

  1. Rnum + Class + Domain

Attributes

(no non-referential attributes)

Clone this wiki locally