A relationship is a model element that relates two entities .
In its simple form (semantic form), it's a description that has a verb such as:
As a set of entity is called an entity set, relationship have also the notion of relationship set that groups relation between the same type of entities.
Bad programmers worry about the code. Good programmers worry about data structures and their relationships.
A relationship is identifiable.
The primary key of a relationship is the primary keys of the involved entities. See primary key relationship
To get the identifier on a global scope, you will add the namespace to the primary_key. See Logical Data Modeling - Global Identifier (Fully Qualified Name, Canonical Form).
Relationships have attributes (saved in a value).
Example:
role is a relationship attribute that defines the function performed in the relationship. It is used to distinguish two entity (object) of the entity set (class) when describing its use in the context of an association.
For instance, Husband and wife are roles
A relationship can be represented or implemented in different ways. See Logical Data Modeling - Relationship Representation / Implementation / Visualisation
The degree of a relationship is the number of entities that participate in the relationship.
A relationship may be:
Relationship Property are only for binary relationship (ie between two elements)
Property | Definition on a binary relationship |
---|---|
antisymmetric | if a is related to b, then b is not related to a or a = b |
asymmetric | if a is related to b, then b is not related to a |
symmetric | if a is related to b, then b is related to a |
reflexive | if a can be related to a (to itself ) |
transitive | if a is related to b, b is related to c, then a is related to c |
A relationship is of true or false and can then be described by a comparison operator.