Logical Data Modeling - Relationship

Data System Architecture


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:

  • has
  • consists of
  • uses

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.

Linus Torvalds


  • a marriage is a relationship between two entities in the entity set PERSON.
  • father-son is a relationship between two person entities
  • is greater than is a relationship between two numbers (or two length of a persons)



A relationship is identifiable.

Primary Key

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).


  • Consider the attribute percentage-of-time which is the portion of time a particular employee is committed to a particular project
  • Since its meaning depends on both the employee and project, it is:
    • neither an attribute of employee
    • nor an attribute of project
  • it's therefore a relationship attribute


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

Visualisation / Representation / Implementation

A relationship can be represented or implemented in different ways. See Logical Data Modeling - Relationship Representation / Implementation / Visualisation

Arity / Degree

The degree of a relationship is the number of entities that participate in the relationship.

A relationship may be:

  • binary (concerns only two elements)
  • or multinary (concerns more than two elements) (ie a+b=c)


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.

Relationship by data type

Discover More
Data System Architecture
(Data Type | Data Structure)

A type is the classification of value according to: how they are represented (the structure) the properties that they have (the operations) A data structure is a complex data type that can not be...
Relational Data Model
(Relation|Table) - Tabular data

A Relation is a logical data structure composed of tuple (row) attribute (column, field) The following data structure are a relation: a table, a materialized view (query) (store data) a query,...
Card Puncher Data Processing
Business - Rule

A business rule is a rule that constrains some aspect of the business process. According to the white paper by the Business Rules Group, a business...
Testing Infrastructure
Code - Testing (Software Quality Assurance|SQA|Validator|Checker)

A test is performed to verify that the system is conformed to the specification and is the most important part of code quality. In a “Test-driven_developmenttest-driven software development (tdd)”...
Data System Architecture
Data Concurrency - Happens Before relationship

The happens-before relationship is simply a guarantee that memory writes by one specific statement are visible to another specific statement. The results of a write by one thread are guaranteed to be...
Data Mining Association
Data Mining - Association (Rules Function|Model) - Market Basket Analysis

Association Rule is an unsupervised data mining function. It finds rules associated with frequently co-occurring items, used for: market basket analysis, cross-sell, and root cause analysis....
Thomas Bayes
Data Mining - Data Mining - (Data|Knowledge) Discovery - Statistical Learning

Data Mining can be defined as the automatic or semiautomatic task of extracting previously unknown information from a large quantity of data. Data mining try to discover in data unknown: unexpected...
Data System Architecture
Data Modeling - Reference (connect, link to)

Reference is the name of a relationship that is directed where an entity (source, first) refers to another entity (target, second) We say that the source entity references, cites, or otherwise points...
Lineage Example
Data Processing - Lineage

Lineage is the ability to: easily drill back from reports or dashboard data to details : where the data came from and which transformations were applied Lineage = How a report, data, definition...
Data System Architecture
Data Property - Data Consistency - (Strong|Atomic) consistency - Linearizability)

In its most basic form, consistency refers to data values in one data set being consistent with values in another data set at the same point in time. In an other form, consistency, also known as atomic...

Share this page:
Follow us:
Task Runner