ER - Entity Relationship Diagram
ER - Entity Relationship Diagram
Chapter 6: ER Entity
Relationship Diagram
Major components of ER diagram
Practices
6/4/2014 2 Yan Huang - ER
ER
1976 proposed by Peter Chen
ER diagram is widely used in database design
Represent conceptual level of a database system
Describe things and their relationships in high level
6/4/2014 3 Yan Huang - ER
Basic Concepts
Entity set an abstraction of similar things, e.g.
cars, students
An entity set contains many entities
Attributes: common properties of the entities in
a entity sets
Relationship specify the relations among
entities from two or more entity sets
6/4/2014 4 Yan Huang - ER
An Example
6/4/2014 5 Yan Huang - ER
Relationship
A relationship may be thought as a set as well
For binary relationship, it enumerates the pairs of
entities that relate to each other
For example, entity set M = {Mike, Jack, Tom} entity
set F = {Mary, Kate}. The relationship set married
between M and F may be {<Mike,Mary>,<Tom,
Kate>}
6/4/2014 6 Yan Huang - ER
Relationship
A relationship set is a mathematical relation among n
2 entities, each taken from entity sets
{(e
1
, e
2
, e
n
) | e
1
E
1
, e
2
E
2
, , e
n
E
n
}
where (e
1
, e
2
, , e
n
) is a relationship
Example:
(Hayes, A-102) depositor
6/4/2014 7 Yan Huang - ER
Relationship Example
6/4/2014 8 Yan Huang - ER
Attribute of A Relationship Set
6/4/2014 9 Yan Huang - ER
Relationship
The degree of a relationship = the number of
entity sets that participate in the relationship
Mostly binary relationships
Sometimes more
Mapping cardinality of a relationship
1 1
1 many
many 1
Many-many
6/4/2014 10 Yan Huang - ER
One-One and One-Many
6/4/2014 11 Yan Huang - ER
Many-one and many-many
6/4/2014 12 Yan Huang - ER
1- many
6/4/2014 13 Yan Huang - ER
Many - 1
6/4/2014 14 Yan Huang - ER
Many - many
6/4/2014 15 Yan Huang -CSCE4350 - ER
Alternative Cardinality
Specification
6/4/2014 16 Yan Huang - ER
Note on Mapping Cardinality
Both many and 1 include 0
Meaning some entity may not participate in the
relationship
6/4/2014 17 Yan Huang - ER
Total Participation
When we require all entities to participate in the relationship
(total participation), we use double lines to specify
Every loan has to have at
least one customer
6/4/2014 18 Yan Huang - ER
Self Relationship
Sometimes entities in a entity set may relate to
other entities in the same set. Thus self
relationship
Here employees mange some other employees
The labels manger and worker are called
roles the self relationship
6/4/2014 19 Yan Huang - ER
More examples on self-
relationship
People to people
Parent children
Manager employee
Husband wife
Word to word
Root synonym
6/4/2014 20 Yan Huang 350 - ER
Attributes
Both entity sets and relationships can have
attributes
Attributes may be
Composite
Multi-valued (double ellipse)
Derive (dashed ellipse)
6/4/2014 21 Yan Huang - ER
Another Example
6/4/2014 22 Yan Huang - ER
Keys
A super key of an entity set is a set of one or
more attributes whose values uniquely
determine each entity.
A candidate key of an entity set is a minimal
super key
Although several candidate keys may exist, one
of the candidate keys is selected to be the
primary key.
6/4/2014 23 Yan Huang - ER
Key Examples
Suggest super keys for the following entity?
What are the candidate keys?
Primary key?
author
name
birthday
death
description
6/4/2014 24 Yan Huang - - ER
Ternary Relationship
6/4/2014 25 Yan Huang - ER
Can We Decompose a Ternary
Relationship?
Some relationships that appear to be non-binary
may be better represented using binary
relationships
E.g. A ternary relationship parents, relating a child to
his/her father and mother, is best replaced by two
binary relationships, father and mother
Using two binary relationships allows partial information (e.g.
only mother being know)
But there are some relationships that are naturally
non-binary
E.g. works-on, why?
6/4/2014 26 Yan Huang - ER
Converting Ternary to binary
In general, any non-binary relationship can be represented using
binary relationships by creating an artificial entity set.
Replace R between entity sets A, B and C by an entity set E, and three
relationship sets:
1. R
A
, relating E and A 2.R
B
, relating E and B
3. R
C
, relating E and C
Create a special identifying attribute for E
Add any attributes of R to E
For each relationship (a
i
, b
i
, c
i
) in R, create
1. a new entity e
i
in the entity set E 2. add (e
i
, a
i
) to R
A
3. add (e
i
, b
i
) to R
B
4. add (e
i
, c
i
) to R
C
6/4/2014 27 Yan Huang - ER
Converting Ternary to binary
6/4/2014 28 Yan Huang - ER
Design an ER Diagram
Design a database for an on-line reservation
system for microscopes in material science lab
There are two types of users: microscope
administrators and microscope end users
Each microscope is located in a specific lab
Each request is assigned to an administrator
who can authorize or deny the request
Using of some microscope requires the presence
of an administrator
Time is divided into 1 hour slots. Each
reservation can only take one or more time slots
6/4/2014 29 Yan Huang - ER
Weak Entity Set
Some entity sets in real world naturally depend
on some other entity set
They can be uniquely identified only if combined with
another entity set
Example:
section1, section2, become unique only if you put
them into a context, e.g. csce4350
6/4/2014 30 Yan Huang - ER
Weak Entity Set Notations
Double rectangles for weak entity set
Double diamond for weak entity relationship
Dashed underscore for discriminator
6/4/2014 31 Yan Huang - ER
Specialization
A lower-level entity set inherits all the attributes
and relationship participation of the higher-level
entity set to which it is linked.
A lower-level entity set may have additional
attributes and participate in additional
relationships
6/4/2014 32 Yan Huang - ER
6/4/2014 33 Yan Huang - ER
Specification
Disjoint
Completeness constraint (use double lines)
total : an entity must belong to one of the lower-
level entity sets
partial: an entity need not belong to one of the
lower-level entity sets
6/4/2014 34 Yan Huang - ER
Design Considerations
Use of entity sets vs. attributes
Whether we want to keep additional information
Use of entity sets vs. relationship sets
Actions among entities are usually represented by
relationships
Binary versus n-ary relationship sets
N-nary relationships are usually more natural for
actions among entity sets
Weak entity set vs. strong entity set
Generalization
6/4/2014 35 Yan Huang - ER
Notations
6/4/2014 36 Yan Huang - ER
Notations
6/4/2014 37 Yan Huang - ER
ER Practice Again
Design an ER diagram for an online music store.
The database will contain at least the following
concepts: songs, artists, bands, albums, and
genres.
State your design assumptions you make to
support design decisions. Be sure your
assumptions are reasonable.
6/4/2014 38 Yan Huang CE4350 - ER
Best Practice Guide for ER Design
Use of entity sets vs. attributes
Use of entity sets vs. relationship sets
Binary versus n-ary relationship sets
Weak entity set vs. strong entity set
Choose the natural one
Generalization
If specialized entities need to keep additional
information and participate in additional relationships
6/4/2014 39 Yan Huang - ER
ER for Banking Enterprise
Description handhout
6/4/2014 40 Yan Huang - ER
Read ER Diagrams
Following are some ER diagrams grabbed from
the web
Read to understand/criticize
6/4/2014 41 Yan Huang - ER
?
?
?
?
?
?
?
?
?
6/4/2014 42 Yan Huang -CSCE4350 - ER
? ?
?
?
?
6/4/2014 43 Yan Huang -CSCE4350 - ER
?
6/4/2014 44 Yan Huang -CSCE4350 - ER