E-R Model
E-R Model
Database System Concepts - 7th Edition 6.1 ©Silberschatz, Korth and Sudarshan
Design Phases
Database System Concepts - 7th Edition 6.2 ©Silberschatz, Korth and Sudarshan
Design Phases (Cont.)
Database System Concepts - 7th Edition 6.3 ©Silberschatz, Korth and Sudarshan
Design Alternatives
Database System Concepts - 7th Edition 6.4 ©Silberschatz, Korth and Sudarshan
Design Approaches
Database System Concepts - 7th Edition 6.5 ©Silberschatz, Korth and Sudarshan
Outline of the ER Model
Database System Concepts - 7th Edition 6.6 ©Silberschatz, Korth and Sudarshan
ER model -- Database Modeling
Database System Concepts - 7th Edition 6.7 ©Silberschatz, Korth and Sudarshan
Entity Sets
Database System Concepts - 7th Edition 6.8 ©Silberschatz, Korth and Sudarshan
Representing Entity sets in ER Diagram
Database System Concepts - 7th Edition 6.9 ©Silberschatz, Korth and Sudarshan
Relationship Sets
Database System Concepts - 7th Edition 6.10 ©Silberschatz, Korth and Sudarshan
Relationship Sets (Cont.)
Database System Concepts - 7th Edition 6.11 ©Silberschatz, Korth and Sudarshan
Representing Relationship Sets via ER Diagrams
Database System Concepts - 7th Edition 6.12 ©Silberschatz, Korth and Sudarshan
Relationship Sets (Cont.)
student
Database System Concepts - 7th Edition 6.13 ©Silberschatz, Korth and Sudarshan
Relationship Sets with Attributes
Database System Concepts - 7th Edition 6.14 ©Silberschatz, Korth and Sudarshan
Roles
Database System Concepts - 7th Edition 6.15 ©Silberschatz, Korth and Sudarshan
Non-binary Relationship Sets
Database System Concepts - 7th Edition 6.16 ©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.17 ©Silberschatz, Korth and Sudarshan
Composite Attributes
component
attributes
street_number street_name apartment_number
Database System Concepts - 7th Edition 6.18 ©Silberschatz, Korth and Sudarshan
Representing Complex Attributes in ER Diagram
Database System Concepts - 7th Edition 6.19 ©Silberschatz, Korth and Sudarshan
Mapping Cardinality Constraints
Database System Concepts - 7th Edition 6.20 ©Silberschatz, Korth and Sudarshan
Mapping Cardinalities
Database System Concepts - 7th Edition 6.21 ©Silberschatz, Korth and Sudarshan
Mapping Cardinalities
Database System Concepts - 7th Edition 6.22 ©Silberschatz, Korth and Sudarshan
Representing Cardinality Constraints in ER Diagram
▪ We express cardinality constraints by drawing either a directed
line (→), signifying “one,” or an undirected line (—), signifying
“many,” between the relationship set and the entity set.
Database System Concepts - 7th Edition 6.23 ©Silberschatz, Korth and Sudarshan
One-to-Many Relationship
Database System Concepts - 7th Edition 6.24 ©Silberschatz, Korth and Sudarshan
Many-to-One Relationships
Database System Concepts - 7th Edition 6.25 ©Silberschatz, Korth and Sudarshan
Many-to-Many Relationship
Database System Concepts - 7th Edition 6.26 ©Silberschatz, Korth and Sudarshan
Total and Partial Participation
Database System Concepts - 7th Edition 6.27 ©Silberschatz, Korth and Sudarshan
▪ 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.29 ©Silberschatz, Korth and Sudarshan
Instructor can advise 0 or more students. A student must have 1
advisor; cannot have multiple advisors
Database System Concepts - 7th Edition 6.30 ©Silberschatz, Korth and Sudarshan
▪ We allow at most one arrow out of a ternary (or greater degree)
relationship to indicate a cardinality constraint.
Database System Concepts - 7th Edition 6.31 ©Silberschatz, Korth and Sudarshan
▪ If there is more than one arrow, there are two ways of defining the
meaning.
• For example, a ternary relationship R between A, B and C with
arrows to B and C could mean
1. Each A entity is associated with a unique entity from B and C
or
2. Each pair of entities from (A, B) is associated with a unique C
entity, and each pair (A, C) is associated with a unique B
• To avoid confusion we outlaw more than one arrow
Database System Concepts - 7th Edition 6.32 ©Silberschatz, Korth and Sudarshan
Primary Key
Database System Concepts - 7th Edition 6.33 ©Silberschatz, Korth and Sudarshan
Primary key for Entity Sets
Database System Concepts - 7th Edition 6.34 ©Silberschatz, Korth and Sudarshan
Primary Key for Relationship Sets
Database System Concepts - 7th Edition 6.35 ©Silberschatz, Korth and Sudarshan
Choice of Primary key for Binary Relationship
▪ Many-to-Many relationships.
The preceding union of the primary keys is used as the primary key.
Example: for relationship set “advisor”, the primary key consists of
instructor.ID and student.ID
Database System Concepts - 7th Edition 6.36 ©Silberschatz, Korth and Sudarshan
Choice of Primary key for Binary Relationship
▪ Many-to-Many relationships.
The preceding union of the primary keys is used as the primary key.
▪ One-to-Many relationships .
The primary key of the “Many” side is used as the primary key.
Database System Concepts - 7th Edition 6.37 ©Silberschatz, Korth and Sudarshan
Choice of Primary key for Binary Relationship
▪ Many-to-Many relationships.
The preceding union of the primary keys is used as the primary key.
▪ One-to-Many relationships .
The primary key of the “Many” side is used as the primary key.
▪ Many-to-one relationships.
The primary key of the “Many” side is used as the primary key.
Database System Concepts - 7th Edition 6.38 ©Silberschatz, Korth and Sudarshan
Choice of Primary key for Binary Relationship
▪ Many-to-Many relationships.
The preceding union of the primary keys is used as the primary key.
▪ One-to-Many relationships .
The primary key of the “Many” side is used as the primary key.
▪ Many-to-one relationships.
The primary key of the “Many” side is used as the primary key.
▪ One-to-one relationships.
The primary key of either one of the participating entity sets can be
chosen as the primary key.
Database System Concepts - 7th Edition 6.39 ©Silberschatz, Korth and Sudarshan
Expressing Weak Entity Sets
Database System Concepts - 7th Edition 6.40 ©Silberschatz, Korth and Sudarshan
Weak Entity Sets
Database System Concepts - 7th Edition 6.41 ©Silberschatz, Korth and Sudarshan
Weak Entity Sets (Cont.)
▪ Do 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
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
Weak Entity Sets (Cont.)
▪ An entity set that is not a weak entity set is termed a strong entity set.
▪ Every weak entity must be associated with an identifying entity; that is,
the weak entity set is said to be existence dependent on the identifying
entity set.
▪ The identifying entity set is said to own the weak entity set that it
identifies.
▪ The relationship associating the weak entity set with the identifying entity
set is called the identifying relationship.
Discriminator
existence dependent on
Identifying entity
Database System Concepts - 7th Edition own 6.44 ©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.45 ©Silberschatz, Korth and Sudarshan
E-R Diagram for a University Enterprise
Database System Concepts - 7th Edition 6.46 ©Silberschatz, Korth and Sudarshan
Reduction to Relation Schemas
Database System Concepts - 7th Edition 6.47 ©Silberschatz, Korth and Sudarshan
Reduction to Relation Schemas
Database System Concepts - 7th Edition 6.48 ©Silberschatz, Korth and Sudarshan
Representing Entity Sets
▪ A weak entity set becomes a table that includes a column for the
primary key of the identifying strong entity set
Database System Concepts - 7th Edition 6.49 ©Silberschatz, Korth and Sudarshan
Representation of Entity Sets with Attributes
▪ Composite attributes are flattened out by creating a
separate attribute for each component attribute
• Example: given entity set instructor with composite
attribute name with component attributes first_name
and last_name the schema corresponding to the
entity set has two attributes name_first_name and
name_last_name
▪ Prefix omitted if there is no ambiguity
(name_first_name could be first_name)
Database System Concepts - 7th Edition 6.52 ©Silberschatz, Korth and Sudarshan
Redundancy of Schemas
Many-to-one and one-to-many relationship sets that are total on
the many-side can be represented by adding an extra attribute to the
“many” side, containing the primary key of the “one” side
Instructor 01-Department 01
Department 01 – Instructor 01 and 02
Database System Concepts - 7th Edition 6.53 ©Silberschatz, Korth and Sudarshan
Redundancy of Schemas (Cont.)
Instructor Department
ins_dept
Database System Concepts - 7th Edition 6.54 ©Silberschatz, Korth and Sudarshan
Redundancy of Schemas (Cont.)
Database System Concepts - 7th Edition 6.55 ©Silberschatz, Korth and Sudarshan
Extended E-R Features
Database System Concepts - 7th Edition 6.56 ©Silberschatz, Korth and Sudarshan
Specialization
Database System Concepts - 7th Edition 6.57 ©Silberschatz, Korth and Sudarshan
Specialization Example
▪ Overlapping – employee and student
▪ Disjoint – instructor and secretary
Database System Concepts - 7th Edition 6.58 ©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.59 ©Silberschatz, Korth and Sudarshan
▪ Method 2:
• Form a schema for each entity set with all local and
inherited attributes
Database System Concepts - 7th Edition 6.60 ©Silberschatz, Korth and Sudarshan
Generalization
Database System Concepts - 7th Edition 6.61 ©Silberschatz, Korth and Sudarshan
Completeness constraint
Database System Concepts - 7th Edition 6.62 ©Silberschatz, Korth and Sudarshan
Common Mistakes in E-R Diagrams
Database System Concepts - 7th Edition 6.63 ©Silberschatz, Korth and Sudarshan
Common Mistakes in E-R Diagrams
Database System Concepts - 7th Edition 6.64 ©Silberschatz, Korth and Sudarshan
▪ 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. RA, relating E and A 2. RB, relating E and B
3. RC, relating E and C
• Create an identifying attribute for E and add any attributes of R to E
• For each relationship (ai , bi , ci) in R, create
1. a new entity ei in the entity set E 2. add (ei , ai ) to RA
3. add (ei , bi ) to RB 4. add (ei , ci ) to RC
Database System Concepts - 7th Edition 6.65 ©Silberschatz, Korth and Sudarshan
Summary of Symbols Used in
E-R Notation
Database System Concepts - 7th Edition 6.66 ©Silberschatz, Korth and Sudarshan
Database System Concepts - 7th Edition 6.67 ©Silberschatz, Korth and Sudarshan
Alternative ER Notations
▪ Chen, IDEF1X, …
Database System Concepts - 7th Edition 6.68 ©Silberschatz, Korth and Sudarshan
Alternative ER Notations
Database System Concepts - 7th Edition 6.69 ©Silberschatz, Korth and Sudarshan
E-R Diagram for a University Enterprise
Database System Concepts - 7th Edition 6.70 ©Silberschatz, Korth and Sudarshan
Schema Diagram for the University
Database
Each relation appears as a box, with the relation name at the top in blue, and the
attributes listed inside the box. Primary key attributes are shown underlined. Foreign
key dependencies appear as arrows from the foreign key attributes of the referencing
relation to the primary key of the referenced relation.
Database System Concepts - 7th Edition 6.71 ©Silberschatz, Korth and Sudarshan