Entity
Relationship
Modeling
Entity Relationship Modeling
• Origin and use
- Article (Chen, 1976): ‘The Entity Relationship Model, towards a unified view of data’
- Entity Relationship Modeling (ERM) still is the international de facto standard for data modeling in data intensive
domains (databases, data warehouses)
• Resulting data model
- Entity Relationship Diagram (ERD) - Not much semantics can be modeled - Many different design styles
Diamond notation (Chen)
role
Name Gender
max cardinality
‘many to one’
attributes
Employ
Employee
mentDepartment entity types
works for
N 1
relationship
Depno
Empno Name
identifying
attribute
Crow’s foot notation (Martin)
role
Name Gender
max cardinality
‘many to one’
attributes
Employment
Employee Department
entity types
works for
relationship
Depno
Empno Name
identifying
attribute
OMT-style notation (Rumbaugh)
role
Name Gender
max cardinality
‘many to one’
attributes
Employment
Employee Department
entity types
works for
relationship
Depno
Empno Name
identifying
attribute
UML-style notation (Booch)
role
Name Gender
max cardinality
‘many to one’
attributes
Employment
Employee Department
entity types
works for
relationship
Depno
Empno Name
identifying attribute
* 1
Diamond, Crow’s foot, OMT and UML notations for relationships
Person Instrument
Person Instrument
Person Instrument
plays
N N Employee Department
Employee Department
Employee Department
works N for 1
plays
plays
works for
works for
Person plays Instrument
Employee works for Department
* * * 1
Oracle notation
(Barker)
role
max cardinality
‘many to one’ relationship name
works for
Employment EMPLOYEE
# Empno Name Gender
DEPARTMENT
# Depno Name
min cardinality
‘zero’, ‘one’
Note: the stroke for max cardinality ‘one’ is sometimes omitted
identifyer
entity type name
attributes
IE notation
(Martin)
role
max cardinality
many to one relationship name
works for
Employment
Employee Empno
Name Gender
Department Depno
Name
min cardinality zero, one
Note: the stroke for max cardinality ‘one’ is sometimes omitted
entity type name
identifyer
attributes
Supporting tools
• Most used tools nowadays - PowerDesigner (Sybase):
uses Information Engineering (IE) notation (Martin), also UML - Oracle Designer (Oracle):
uses Oracle notation (Barker) tools are nowadays incorporated in Oracle’s JDesigner
- ERwin (Platinum):
uses several notations: OMT, IE, Oracle, UML
• Conceptual or logical
- Some tools (like PowerDesigner) call an ERD a conceptual data model, others (like ERwin) call an ERD a logical data model
- Our opinion: an ERD is a logical level model, not a model at the conceptual level
Notational choice
• Information Engineering (IE) notation
- Box notation for entity types, including attributes - Only binary relationships
- James Martin’s notation for maximum and minimum cardinalities
• Resulting data model
- Entity Relationship Diagram (ERD) - Not much semantics can be modeled - Many different design styles