• To illustrate how relationships between
entities are defined and refined.
• To know how relationships are incorporated
into the database design process.
• To describe how ERD components affect
database design and implementation
A table is a collection (rows) of data
on a single related topic.
7. Difference between table and
A table is an object inside a
A database has tables of data,
a table is a collection (rows) of data
on a single related topic.
A database can have 10 or
thousands of tables
Ex: employee table
Contains only employees detail. But
it not contains department detail.
But DB is a collection of Employee
table as well as department table.
10. Why we need ER diagram
giving you image of how the tables
what fields are going to be on each
the tables connection, if many-to-many,
“ER diagrams are easy for non-technical
people to understand, and thus are
typically used by database designers
before the schema ever exists”
• An entity is something that exists by itself.
• Entity: Real-world object distinguishable from
other objects. An entity is described using a
set of attributes.
13. Entity set
• Entity Set: A collection of similar entities.
E.g., all employees.
– All entities in an entity set have the same set of
– Each entity set has a key.
– Each attribute has a domain.
14. Person, place, object, event or
concept about which data is to
named property or
characteristic of an
the instances of one
or more entity types
EntityName Verb Phrase AttributeName
• Relationship:Association among two or
more entities. e.g., John works in Comp.Sci
• Relationship Set:Collection of similar
• Same entity set could participate in different
relationship sets, or in different “roles” in same set.
16. Relationship Example
Associations between instances of one or more entity types that is of interest
Given a name that describes its function.
• relationship name is an active or a passive verb.
An author writes one or more books
A book can be written by one or more authors.
17. Degree of Relationships
• Degree: number of entity types that participate in a relationship
• Three cases
– Unary: between two instances of one entity type
– Binary: between the instances of two entity types
– Ternary: among the instances of three entity types
• Example of entity types and associated attributes:
STUDENT: Student_ID, Student_Name, Home_Address, Phone_Number,
19. Attribute types
– Simple and composite attributes.
– Single-valued and multi-valued attributes
• Example: multivalued attribute: phone_numbers
– Derived attributes
• Can be computed from other attributes
• Example: age, given date_of_birth
21. Referential Attributes
• Make Reference to another instance in another table
Name IdNum DeptID Email
Ali 105 LG email@example.com
Mary 106 IT firstname.lastname@example.org
John 107 ENG email@example.com
Lim 108 IT firstname.lastname@example.org
Instance of Lecturer.
Referential attribute: Ties the lecturer entity to another
entity that is department.
22. Mapping Cardinality Constraints
• Express the number of entities to which another
entity can be associated via a relationship set.
• Most useful in describing binary relationship sets.
• For a binary relationship set the mapping
cardinality must be one of the following types:
– One to one
– One to many
– Many to one
– Many to many
23. Mapping Cardinalities
One to one One to many
Note: Some elements in A and B may not be mapped to any
elements in the other set
• Key and key attributes:
– Key: a unique value for an entity
– Key attributes: a group of one or more attributes that uniquely
identify an entity in the entity set
• Super key, candidate key, and primary key
– Super key: a set of attributes that allows to identify and entity
uniquely in the entity set
– Candidate key: minimal super key
• There can be many candidate keys
– Primary key: a candidate key chosen by the designer
• Denoted by underlining in ER attributes.
26. Key Constraints
• Consider Works_In: An employee can work in many
departments; a dept can have many employees.
• In contrast, each dept has at most one manager,
according to the key constraint on Manages.
27. Weak Entity Sets
• An entity set that does not have a primary key is
referred to as a weak entity set.
• The existence of a weak entity set depends on
the existence of a identifying entity set
– it must relate to the identifying entity set via a
total, one-to-many relationship set from the
identifying to the weak entity set
– Identifying relationship depicted using a double
• The discriminator (or partial key) of a weak
entity set is the set of attributes that
distinguishes among all the entities of a weak
• The primary key of a weak entity set is formed
by the primary key of the strong entity set on
which the weak entity set is existence
dependent, plus the weak entity set’s
28. • In a relational database, a Weak Entity is an entity that
cannot be uniquely identified by its attributes alone;
therefore, it must use a foreign key in conjunction with
its attributes to create a primary key. The foreign key is
typically a primary key of an entity it is related to.
30. Conceptual design
• Conceptual design: (ER Model is used at this
• Process of describing the data, relationships between
the data, and the constraints on the data.
31. Entity-Relationship (ER) Diagram
• ER Modeling is a “top-down” approach to database
• Entity Relationship (ER) Diagram
– A detailed, “logical representation” of the entities,
associations and data elements for an organization or
Notation uses three main constructs
– Data entities
• Entity sets of a relationship need not be distinct
• The labels “manager” and “worker” are called roles; they
specify how employee entities interact via the works_for
• Roles are indicated in E-R diagrams by labeling the lines that
connect diamonds to rectangles.
• Role labels are optional, and are used to clarify semantics of the
36. Cardinality and Connectivity
• Relationships can be classified as either
• one – to – one
• one – to – many
• many – to –many
• Cardinality : minimum and maximum number of
instances of Entity B that can (or must be) associated
with each instance of entity A.
37. Cardinality Constraints
• 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
• One-to-one relationship:
– A customer is associated with at most one loan via
the relationship borrower
– A loan is associated with at most one customer via
38. One-To-Many Relationship
• In the one-to-many relationship a loan is
associated with at most one customer via
borrower, a customer is associated with
several (including 0) loans via borrower
39. Many-To-One Relationships
• In a many-to-one relationship a loan is
associated with several (including 0)
customers via borrower, a customer is
associated with at most one loan via borrower
40. Many-To-Many Relationship
• A customer is associated with several (possibly
0) loans via borrower
• A loan is associated with several (possibly 0)
customers via borrower
• Chen Model
– 1 to represent one.
– M to represent many
• Crow’s Foot
One or many
Mandatory one , means (1,1)
42. Binary Relationships
• 1:M relationship
– Relational modeling ideal
– Should be the norm in any relational database design
The 1: M relationship between PAINTER and PAINTING
43. Binary Relationships
• 1:1 relationship
– Should be rare in any relational database design
– A single entity instance in one entity class is
related to a single entity instance in another
– Could indicate that two entities actually belong
in the same table
45. Binary Relationships
• M:N relationships
– Must be avoided because they lead to data redundancies.
– Can be implemented by breaking it up to produce a set of 1:M
– Can avoid problems inherent to M:N relationship by creating a
composite entity or bridge entity
• This will be used to link the tables that were originally
related in a M:N relationship
• The composite entity structure includes-as foreign keys-at
least the primary keys of the tables that are to be linked.
• Top-down design process: we designate sub
groupings within an entity set that are
distinctive from other entities in the set.
• These sub groupings become lower-level entity
sets that have attributes or participate in
relationships that do not apply to the higher-level
• Depicted by a “triangle component labeled ISA”
• Attribute inheritance – a lower-level entity set
inherits all the attributes and relationship
participation of the higher-level entity set to
which it is linked.
• A bottom-up design process – combine a number of entity
sets that share the same features into a higher-level entity
• Specialization and generalization are simple inversions of
each other; they are represented in an E-R diagram in the
• The terms specialization and generalization are used
52. Specialization and Generalization
• Can have multiple specializations of an entity
set based on different features.
• E.g. permanent_employee vs.
temporary_employee, in addition to officer vs.
secretary vs. teller
• Each particular employee would be
– a member of one of permanent_employee or
– and also a member of one of officer, secretary, or
• The ISA relationship also referred to as
“superclass – subclass” relationship
53. Design Constraints on a
• Constraint on which entities can be members of a
given lower-level entity set.
– Condition-defined : evaluated by an explicit condition or
– User-defined : database user assigns
• Constraint on whether or not entities may belong to
more than one lower-level entity set within a single
• An entity can belong to only one lower-level entity set
• Noted in E-R diagram by writing disjoint next to the ISA triangle
• an entity can belong to more than one lower-level entity set
54. Design Constraints on a
• Completeness constraint
– 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
Consider the ternary relationship works-on, which we saw earlier
Suppose we want to record managers for tasks performed by an
employee at a branch
56. Aggregation (Cont.)
• Relationship sets works_on and manages represent
– Every manages relationship corresponds to a works_on
– However, some works_on relationships may not correspond to
any manages relationships
• So we can’t discard the works_on relationship
• Eliminate this redundancy via aggregation
– Treat relationship as an abstract entity
– Allows relationships between relationships
– Abstraction of relationship into new entity
• Without introducing redundancy, the following diagram
– An employee works on a particular job at a particular branch
– An employee, branch, job combination may have an associated
57. Aggregation (Cont.)
• Relationship sets works-on and manages
represent overlapping information
– Every manages relationship corresponds to a works-on
– However, some works-on relationships may not
correspond to any manages relationships we
can’t discard the works-on relationship
• Redundancy problem aggregation