Entity Relationship Diagram
An entity relationship diagram is a structure diagram for graphically showing (modeling) entities and their relationships. Use it to create a normalized model without redundancies to your technical data.
You can use the established MID modeling tool to create a Entity Relationship Diagram.
Test the Innovator Enterprise Modeling Suite for free.
Definition
An entity relationship diagram is a structure diagram for graphically showing (modeling) entities and their relationships. Use it to create a normalized model without redundancies to your technical data.
The icon is of a diagram with entities.
Use
The entity-relationship model's diagram based on Peter Pin-Shan Chen's classic approach. You can use the ER diagram to model a submodel of the conceptual schema. Entities are shown as nodes and relationships are shown as edges. Permissible ER diagram notations are configured in the display options and available in the diagram.
Innovator supports the following diagram notations:
-
Chen
Notation in accordance with Peter Pin-Shan Chen with (min,max) cardinalities
-
DSA
Notation in accordance to data structure analysis
-
James Martin
Notation in accordance with James Martin, Bachmann and Odell (also know as "crow's foot" notation)
-
SERM
Notation in accordance with structured entity relationship modeling from Prof. Dr. Elmar J. Sinz
-
UML
Notation in accordance with Unified Modeling Language
-
IDEF1X
Notation in accordance with IDEF1X standard (U.S. authority standards FIPS 184)
The main difference between these notations is how they display relationships, whose cardinalities are illustrated with various different graphic icons or formal texts in different places. SERM notation arranges entities in a sort of hierarchy from left to right.
Views can also be displayed as nodes and their From clauses as edges.
Attention
SERM notation changes how nodes are arranged in the diagram if they were not previously set out in a SERM-compliant way.
Opening the diagram as read-only temporarily changes the layout to comply with SERM but does not save it.
Elements in an Entity Relationship Diagram
Nodes
The following model elements can be shown as nodes in entity relationship diagrams:
Icon | Element | Description |
---|---|---|
![]() |
Entity | An entity is the set of entities of the same type of the technical world to be modeled. Entity set describes this well but the term instance is common place when talking about an entity in this set. |
![]() |
View | A view combines the attributes of one or more entities in a table. This may mean that a view's rows contain redundant data. The term attribute set will be used as an umbrella term for an entity or view. |
![]() |
Combined View Union View |
A view is modeled by subviews, which are combined with UNION, UNION ALL, INTERSECT or EXCEPT and the setting of parentheses. |
![]() |
Select Statement Sub-Select as View |
As a select statement, a select is part of a union view or is used in expressions of view elements as sub select. |
![]() |
Attribute | An entity's attributes describe an instance's properties. |
![]() |
Primary Key | A key is a subset of an attribute; its entity can be uniquely identified using its instance. If the key attributes' value remains forcibly unchanged throughout the whole lifecycle, this is a so-called key candidate. The primary key which is best suited for implementing a relationship using a foreign key is chosen from the key candidates. If an entity in the real world does not have any key candidates, an artificial key which contains an integer attribute especially modeled for this is normally defined. |
![]() |
Alternative Key | |
![]() |
View Attribute | The values of view attributes are obtained from values of the attributes used. This means that it is also possible for calculation expressions with functions to be used. |
![]() |
Value Verification | A value verification constrains the possible values of attributes. It is the pendant to an SQL check constraint from the DB model. |
![]() |
R Type | An R type is technically a relationship. These entities are needed to ensure the 1st normal form in a model that is to be mapped onto a relational database. This is typically m:n relationships. |
Extensions for multidimensional modeling: | ||
![]() |
Dimension Entity |
In a full model, there is an orthogonal ring encompassing the cube, its cube dimensions and the fact sets. This means that the dimension of a cube dimension has a lower dimension level that is linked with a dimension entity of the entity relationship model. In its turn, this dimension entity is referenced in a fact set by means of a foreign key relationship. This fact set is used by the cube via a "From" clause, so the cube procures its key indicators from the fact set. The foreign attributes of the fact set are displayed as dimension attributes in the cube. |
![]() |
Fact Entity | |
![]() |
Dimension View | |
![]() |
Fact View | |
Extensions for Data Vault: | ||
![]() |
Hub Entity | A hub entity describes a core object of the business logic (e.g. a product) that is normally extremely stable, which contributes to the durability of the data model. |
![]() |
Link Entity | A link entity depicts the relationships between the business objects, e.g. between the customer and the product. |
![]() |
Satellite Entity | The satellite entity stores all information that describes the hub entity or link entity. |
Enhancements for NoSQL: | ||
![]() |
NoSQL schema | For the integration of unstructured NoSQL data. |
![]() |
NoSQL Group | |
![]() |
NoSQL Attribute |
Edges
Edges depict relationships between entities in entity relationship diagrams.
Icon | Element | Description |
---|---|---|
![]() |
1:C |
Each entity in the first entity set cannot be linked to more than one entity in the second entity set. Each entity in the second entity set is linked to precisely one entity in the first entity set. |
![]() |
1:M |
Each entity in the first entity set can be linked to at least one entity in the second entity set. Each entity in the second entity set is linked to precisely one entity in the first entity set. |
![]() |
1:MC |
Each entity in the first entity set can be linked to any number of entities in the second entity set. Each entity in the second entity set is linked to precisely one entity in the first entity set. |
![]() |
C:C | Each entity in the first entity set cannot be linked to more than one entity in the second entity set. and vice versa. |
![]() |
C:MC |
Each entity in the first entity set can be linked to any number of entities in the second entity set. Each entity in the second entity set can be linked with at least one entity in the first entity set. |
![]() |
M:M | Each entity in the first entity set is linked to at least one entity in the second entity set and vice versa. |
![]() |
M:MC |
Each entity in the first entity set can be linked to any number of entities in the second entity set. Each entity in the second entity set is linked to at least one entity in the first entity set. |
![]() |
MC:MC | Each entity in the first entity set can be linked to any number of entities in the second entity set and vice versa. |
![]() |
Generalization | Generalization links two entities making one super and one sub. You can also talk about subordinate and superordinate entities. |
![]() |
"From" clause | The From clause references an entity and is required in all select statements in which data is called from tables or views. |
![]() |
Sub Select | Creates a new instance of the Sub-Select From clause element type. |