ch6 - ER Model
ch6 - ER Model
Database System Concepts - 7th Edition 6.4 ©Silberschatz, Korth and Sudarshan
Design Phases (Cont.)
Database System Concepts - 7th Edition 6.5 ©Silberschatz, Korth and Sudarshan
Design Alternatives
Database System Concepts - 7th Edition 6.7 ©Silberschatz, Korth and Sudarshan
The Entity-Relationship Model
Database System Concepts - 7th Edition 6.8 ©Silberschatz, Korth and Sudarshan
ER model -- Database Modeling
Database System Concepts - 7th Edition 6.9 ©Silberschatz, Korth and Sudarshan
Entity Sets
Database System Concepts - 7th Edition 6.10 ©Silberschatz, Korth and Sudarshan
Entity Sets -- instructor and student
Database System Concepts - 7th Edition 6.11 ©Silberschatz, Korth and Sudarshan
Representing Entity sets in ER Diagram
Database System Concepts - 7th Edition 6.12 ©Silberschatz, Korth and Sudarshan
Relationship Sets
Database System Concepts - 7th Edition 6.13 ©Silberschatz, Korth and Sudarshan
Relationship Sets (Cont.)
Database System Concepts - 7th Edition 6.14 ©Silberschatz, Korth and Sudarshan
Representing Relationship Sets via ER Diagrams
Database System Concepts - 7th Edition 6.15 ©Silberschatz, Korth and Sudarshan
Relationship Sets (Cont.)
An attribute can also be associated with a relationship
set.
For instance, the advisor relationship set between entity
sets instructor and student may have the attribute date
which tracks when the student started being associated
with the advisor
Database System Concepts - 7th Edition 6.16 ©Silberschatz, Korth and Sudarshan
Relationship Sets with Attributes
Database System Concepts - 7th Edition 6.17 ©Silberschatz, Korth and Sudarshan
Roles
Database System Concepts - 7th Edition 6.18 ©Silberschatz, Korth and Sudarshan
the same entity set participates in a relationship set more than once,
in different roles. In this type of relationship set, sometimes called a
recursive relationship set, explicit role names are necessary to
specify how an entity participates in a relationship instance
Database System Concepts - 7th Edition 6.19 ©Silberschatz, Korth and Sudarshan
Degree of a Relationship Set
Binary relationship
• involve two entity sets (or degree two).
• most relationship sets in a database system are
binary.
Relationships between more than two entity sets are rare.
Most relationships are binary.
Example: students work on research projects under the
guidance of an instructor.
• relationship proj_guide is a ternary relationship
between instructor, student, and project
Database System Concepts - 7th Edition 6.20 ©Silberschatz, Korth and Sudarshan
Non-binary Relationship Sets
Database System Concepts - 7th Edition 6.21 ©Silberschatz, Korth and Sudarshan
Complex Attributes
Attribute types:
• Simple and composite attributes.
• Single-valued and multivalued attributes
Example: multivalued attribute: phone_numbers
• Derived attributes
Can be computed from other attributes
Example: age, given date_of_birth
Domain – the set of permitted values for each
attribute
Database System Concepts - 7th Edition 6.22 ©Silberschatz, Korth and Sudarshan
Database System Concepts - 7th Edition 6.23 ©Silberschatz, Korth and Sudarshan
Composite Attributes
Database System Concepts - 7th Edition 6.24 ©Silberschatz, Korth and Sudarshan
Representing Complex Attributes in ER Diagram
Database System Concepts - 7th Edition 6.25 ©Silberschatz, Korth and Sudarshan
Mapping Cardinality Constraints
Database System Concepts - 7th Edition 6.26 ©Silberschatz, Korth and Sudarshan
Mapping Cardinalities
Database System Concepts - 7th Edition 6.27 ©Silberschatz, Korth and Sudarshan
Mapping Cardinalities
Database System Concepts - 7th Edition 6.28 ©Silberschatz, Korth and Sudarshan
Representing Cardinality Constraints in ER Diagram
Database System Concepts - 7th Edition 6.29 ©Silberschatz, Korth and Sudarshan
One-to-Many Relationship
Database System Concepts - 7th Edition 6.30 ©Silberschatz, Korth and Sudarshan
Many-to-One Relationships
Database System Concepts - 7th Edition 6.31 ©Silberschatz, Korth and Sudarshan
Many-to-Many Relationship
Database System Concepts - 7th Edition 6.32 ©Silberschatz, Korth and Sudarshan
Database System Concepts - 7th Edition 6.33 ©Silberschatz, Korth and Sudarshan
Total and Partial Participation
Total participation (indicated by double line): every entity in the
entity set participates in at least one relationship in the
relationship set
Database System Concepts - 7th Edition 6.34 ©Silberschatz, Korth and Sudarshan
Notation for Expressing More Complex Constraints
A line may have an associated minimum and maximum cardinality,
shown in the form l..h, where l is the minimum and h the maximum
cardinality
• A minimum value of 1 indicates total participation.
• A maximum value of 1 indicates that the entity participates in
at most one relationship
• A maximum value of * indicates no limit.
Example
Database System Concepts - 7th Edition 6.35 ©Silberschatz, Korth and Sudarshan
Primary Key
Database System Concepts - 7th Edition 6.37 ©Silberschatz, Korth and Sudarshan
Primary key for Entity Sets
Database System Concepts - 7th Edition 6.38 ©Silberschatz, Korth and Sudarshan
Primary Key for Relationship Sets
To distinguish among the various relationships of a relationship
set we use the individual primary keys of the entities in the
relationship set.
• Let R be a relationship set involving entity sets E1, E2, .. En
• The primary key for R is consists of the union of the
primary keys of entity sets E1, E2, ..En
• If the relationship set R has attributes a1, a2, .., am
associated with it, then the primary key of R also includes
the attributes a1, a2, .., am
Example: relationship set “advisor”.
• The primary key consists of instructor.ID and student.ID
The choice of the primary key for a relationship set depends on
the mapping cardinality of the relationship set.
Database System Concepts - 7th Edition 6.39 ©Silberschatz, Korth and Sudarshan
Choice of Primary key for Binary Relationship
Database System Concepts - 7th Edition 6.40 ©Silberschatz, Korth and Sudarshan
Weak Entity Sets
A weak entity set is one whose existence is dependent on
another entity, called its identifying entity.
Consider a section entity, which is uniquely identified by a
course_id, semester, year, and sec_id.
Suppose we create a relationship set sec_course between
entity sets section and course.
Note that the information in sec_course is redundant, since
section already has an attribute course_id, which identifies the
course with which the section is related.
One option to deal with this redundancy is to get rid of the
relationship sec_course; however, by doing so the relationship
between section and course becomes implicit in an attribute,
which is not desirable.
Database System Concepts - 7th Edition 6.41 ©Silberschatz, Korth and Sudarshan
Weak Entity Sets (Cont.)
An alternative way to deal with this redundancy is to not store the
attribute course_id in the section entity and to only store the
remaining attributes section_id, year, and semester.
• However, the entity set section then does not have enough
attributes to identify a particular section entity uniquely
To deal with this problem, we treat the relationship sec_course
as a special relationship that provides extra information, in this
case, the course_id, required to identify section entities uniquely.
Instead of associating a primary key with a weak entity, we use
the identifying entity, along with extra attributes called
discriminator to uniquely identify a weak entity.
Database System Concepts - 7th Edition 6.42 ©Silberschatz, Korth and Sudarshan
Weak Entity Sets (Cont.)
Database System Concepts - 7th Edition 6.43 ©Silberschatz, Korth and Sudarshan
Expressing Weak Entity Sets
Database System Concepts - 7th Edition 6.44 ©Silberschatz, Korth and Sudarshan
Database System Concepts - 7th Edition 6.45 ©Silberschatz, Korth and Sudarshan
Redundant Attributes
Suppose we have entity sets:
• student, with attributes: ID, name, tot_cred, dept_name
• department, with attributes: dept_name, building, budget
We model the fact that each student has an associated department using
a relationship set stud_dept
The attribute dept_name in student below replicates information present
in the relationship and is therefore redundant and needs to be removed.
BUT: when converting back to tables, in some cases the attribute gets
reintroduced, as we will see later.
Database System Concepts - 7th Edition 6.46 ©Silberschatz, Korth and Sudarshan
Database System Concepts - 7th Edition 6.47 ©Silberschatz, Korth and Sudarshan
Database System Concepts - 7th Edition 6.48 ©Silberschatz, Korth and Sudarshan
E-R Diagram for a University Enterprise
Database System Concepts - 7th Edition 6.49 ©Silberschatz, Korth and Sudarshan
This E-R diagram is equivalent to the textual description of the
university E-R model but with several additional constraints, and
section now being a weak entity.
we have a constraint that each instructor must have exactly one
associated department.
As a result, there is a double line between instructor and
inst_dept, indicating total participation of instructor in inst_dept;
We shall show how this E-R diagram can be used to derive the
various relation schemas we use.
Database System Concepts - 7th Edition 6.50 ©Silberschatz, Korth and Sudarshan
Reduction to Relation Schemas
Database System Concepts - 7th Edition 6.51 ©Silberschatz, Korth and Sudarshan
Reduction to Relation Schemas
How an E-R schema can be represented by relation
schemas? How constraints arising from the E-R design can
be mapped to constraints on relation schemas?
Entity sets and relationship sets can be expressed
uniformly as relation schemas that represent the contents
of the database.
A database which conforms to an E-R diagram can be
represented by a collection of schemas.
For each entity set and relationship set there is a unique
schema that is assigned the name of the corresponding
entity set or relationship set.
Each schema has a number of columns (generally
corresponding to attributes), which have unique names.
Database System Concepts - 7th Edition 6.52 ©Silberschatz, Korth and Sudarshan
Representation of Strong Entity Sets with
Simple Attributes
For schemas derived from strong entity sets, the
primary key of the entity set serves as the primary key
of the resulting schema
A strong entity set reduces to a schema with the same
attributes. The schemas derived from strong entity sets
are
student(ID, name, tot_cred)
classroom (building, room number, capacity)
department (dept_name, building, budget)
course (course_id, title, credits)
instructor (ID, name, salary)
student (ID, name, tot cred)
Database System Concepts - 7th Edition 6.53 ©Silberschatz, Korth and Sudarshan
E-R Diagram for a University Enterprise
Database System Concepts - 7th Edition 6.54 ©Silberschatz, Korth and Sudarshan
Representation of Entity Sets with Complex Attributes
Database System Concepts - 7th Edition 6.55 ©Silberschatz, Korth and Sudarshan
Representation of Entity Sets with Multivalued Attributes
A multivalued attribute M of an entity E is represented by a separate
schema EM
Schema EM has attributes corresponding to the primary key of E
and an attribute corresponding to multivalued attribute M
Example: Multivalued attribute phone_number of instructor is
represented by a schema:
instructor_phone ( ID, phone_number)
We create a primary key of the relation schema consisting of all
attributes of the schema
Each value of the multivalued attribute maps to a separate tuple of
the relation on schema EM
• For example, an instructor entity with primary key 22222 and
phone numbers 456-7890 and 123-4567 maps to two tuples:
(22222, 456-7890) and (22222, 123-4567)
Database System Concepts - 7th Edition 6.56 ©Silberschatz, Korth and Sudarshan
The foreign-key constraint on the instructor_phone relation
would be that attribute ID references the instructor
relation.
Database System Concepts - 7th Edition 6.57 ©Silberschatz, Korth and Sudarshan
Representation of Weak Entity Sets
For schemas derived from a weak entity set, the combination of
the primary key of the strong entity set and the discriminator of
the weak entity set serves as the primary key of the schema.
Database System Concepts - 7th Edition 6.58 ©Silberschatz, Korth and Sudarshan
Representing Relationship Sets
Database System Concepts - 7th Edition 6.59 ©Silberschatz, Korth and Sudarshan
For a binary one-to-one relationship set, the
primary key of either entity set can be chosen as
the primary key.
The choice can be made arbitrarily.
For a binary many-to-one or one-to-many
relationship set, the primary key of the entity set
on the “many” side of the relationship set serves
as the primary key.
Database System Concepts - 7th Edition 6.60 ©Silberschatz, Korth and Sudarshan
Combination of Schemas
Suppose further that the participation of A in the relationship
is total,,
Then we can combine the schemas A and AB to form a
single schema consisting of the union of attributes of both
schemas.
The primary key of the combined schema is the primary key
of the entity set into whose schema the relationship set
schema was merged.
relations in the E-R diagram that satisfy the above criteria:
Database System Concepts - 7th Edition 6.61 ©Silberschatz, Korth and Sudarshan
Inst_dept. :: The resulting instructor schema consists of
the attributes {ID, name, dept_name, salary}.
Stud_dept :: The resulting student schema consists of the
attributes {ID,name, dept_name, tot_cred}.
Course_dept: The resulting course schema consists of the
attributes {course,id, title, dept_name, credits}.
Sec_class:: The resulting section schema consists of the
attributes {course id, sec_id, semester, year, building,
room_number}.
Sec_ time_slot:: The resulting section schema
consists of the attributes {course_id, sec_id, semester, year,
building, room_number, time_slot_id}.
Database System Concepts - 7th Edition 6.62 ©Silberschatz, Korth and Sudarshan
E-R Diagram for a University Enterprise
Database System Concepts - 7th Edition 6.63 ©Silberschatz, Korth and Sudarshan
Extended E-R Features
Database System Concepts - 7th Edition 6.67 ©Silberschatz, Korth and Sudarshan
specialization
generalization
higher- and lower-level entity sets
attribute inheritance
aggregation.
Database System Concepts - 7th Edition 6.68 ©Silberschatz, Korth and Sudarshan
Specialization
Database System Concepts - 7th Edition 6.69 ©Silberschatz, Korth and Sudarshan
Specialization Example
Overlapping – employee and student
Disjoint – instructor and secretary
Total and partial
Database System Concepts - 7th Edition 6.70 ©Silberschatz, Korth and Sudarshan
Representing Specialization via Schemas
Method 1:
• Form a schema for the higher-level entity
• Form a schema for each lower-level entity set, include primary key
of higher-level entity set and local attributes
Database System Concepts - 7th Edition 6.71 ©Silberschatz, Korth and Sudarshan
Representing Specialization as Schemas (Cont.)
Method 2:
• Form a schema for each entity set with all local and
inherited attributes
Database System Concepts - 7th Edition 6.72 ©Silberschatz, Korth and Sudarshan
Generalization
Database System Concepts - 7th Edition 6.73 ©Silberschatz, Korth and Sudarshan
Completeness constraint
Database System Concepts - 7th Edition 6.74 ©Silberschatz, Korth and Sudarshan
Completeness constraint (Cont.)
Database System Concepts - 7th Edition 6.75 ©Silberschatz, Korth and Sudarshan
Aggregation
Database System Concepts - 7th Edition 6.76 ©Silberschatz, Korth and Sudarshan
Aggregation (Cont.)
Database System Concepts - 7th Edition 6.77 ©Silberschatz, Korth and Sudarshan
Aggregation (Cont.)
Database System Concepts - 7th Edition 6.78 ©Silberschatz, Korth and Sudarshan
Reduction to Relational Schemas
Database System Concepts - 7th Edition 6.79 ©Silberschatz, Korth and Sudarshan
Representing Specialization via Schemas
Method 1:
• Form a schema for the higher-level entity
• Form a schema for each lower-level entity set, include primary key
of higher-level entity set and local attributes
Database System Concepts - 7th Edition 6.80 ©Silberschatz, Korth and Sudarshan
Representing Specialization as Schemas (Cont.)
Method 2:
• Form a schema for each entity set with all local and
inherited attributes
Database System Concepts - 7th Edition 6.81 ©Silberschatz, Korth and Sudarshan
Design Issues
Database System Concepts - 7th Edition 6.82 ©Silberschatz, Korth and Sudarshan
Common Mistakes in E-R Diagrams
Database System Concepts - 7th Edition 6.83 ©Silberschatz, Korth and Sudarshan
Common Mistakes in E-R Diagrams (Cont.)
Database System Concepts - 7th Edition 6.84 ©Silberschatz, Korth and Sudarshan
Entities vs. Attributes
Database System Concepts - 7th Edition 6.85 ©Silberschatz, Korth and Sudarshan
Entities vs. Relationship sets
Database System Concepts - 7th Edition 6.86 ©Silberschatz, Korth and Sudarshan
Binary Vs. Non-Binary Relationships
Database System Concepts - 7th Edition 6.87 ©Silberschatz, Korth and Sudarshan
Converting Non-Binary Relationships to Binary Form
Database System Concepts - 7th Edition 6.88 ©Silberschatz, Korth and Sudarshan
Converting Non-Binary Relationships (Cont.)
Database System Concepts - 7th Edition 6.89 ©Silberschatz, Korth and Sudarshan
E-R Design Decisions
Database System Concepts - 7th Edition 6.90 ©Silberschatz, Korth and Sudarshan
Summary of Symbols Used in E-R Notation
Database System Concepts - 7th Edition 6.91 ©Silberschatz, Korth and Sudarshan
Symbols Used in E-R Notation (Cont.)
Database System Concepts - 7th Edition 6.92 ©Silberschatz, Korth and Sudarshan
Alternative ER Notations
Chen, IDE1FX, …
Database System Concepts - 7th Edition 6.93 ©Silberschatz, Korth and Sudarshan
Alternative ER Notations
Database System Concepts - 7th Edition 6.94 ©Silberschatz, Korth and Sudarshan
UML
Database System Concepts - 7th Edition 6.95 ©Silberschatz, Korth and Sudarshan
ER vs. UML Class Diagrams
Database System Concepts - 7th Edition 6.96 ©Silberschatz, Korth and Sudarshan
ER vs. UML Class Diagrams
Database System Concepts - 7th Edition 6.97 ©Silberschatz, Korth and Sudarshan
UML Class Diagrams (Cont.)
Database System Concepts - 7th Edition 6.98 ©Silberschatz, Korth and Sudarshan
ER vs. UML Class Diagrams
Database System Concepts - 7th Edition 6.99 ©Silberschatz, Korth and Sudarshan
Other Aspects of Database Design
Functional Requirements
Data Flow, Workflow
Schema Evolution
Database System Concepts - 7th Edition 6.100 ©Silberschatz, Korth and Sudarshan
End of Chapter 6
Database System Concepts - 7th Edition 6.101 ©Silberschatz, Korth and Sudarshan