Logical Data Modeling - Association
About
An association is a relationship between two or more entities. It's represented by a link in the data model.
An association:
- answers to the question why two entity need to know about one another.
- specifies a semantic relationship (ie is … of) that can occur between entities.
Articles Related
Example
- A mathematical function y = f(x) creates an association relationship between the set of x and the set of y
- A book has been written by one or many authors.
Properties
The following relationship properties are visible:
And an association may also have a type information added with a symbol at one of its end such as:
- composition is a black diamond
- dependency is a dashed arrow
- aggregation is a hollow diamond (at the aggregate end)
As the term association design a visual representation of an relationship, the term association is also sometimes combined with the relationship properties.
Example:
- Directed Aggregation Association can be read a asymmetric (directed) aggregation relationship
Visualization
Entity Diagram
Example of Entity Diagram
where:
- PublishedBy is an association where
- 1 is the multiplicity of the publisher end and indicates that a book is published by one publisher
- * is the multiplicity of the book end and indicates that a publisher publishes many books
- WrittenBy is an association
- * is the multiplicity of the author end and indicates that a book is written by many Author
- * is the multiplicity of the book end and indicates that a author writes many books
Class Diagram
- Any Association is drawn as a diamond with a solid line to the entity (class).
- The Association’s name can be shown as a name string near the Association symbol
- An Association end is the connection between the line depicting an Association and the icon (often a box) depicting the class.
The figure shows:
- a binary association: where the solid triangle indicates the order of reading: Player PlayedInYear Year
- a ternary association: between Team, Year, and Player with id (ends) named team, season, and goalkeeper (goalie) respectively.