CHAPTER 3
Data Modeling Using the
Entity-Relationship (ER) Model
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 1- 1
Chapter Outline
◼ Overview of Database Design Process
◼ Example Database Application (COMPANY)
◼ ER Model Concepts
◼ Entities and Attributes
◼ Entity Types, Value Sets, and Key Attributes
◼ Relationships and Relationship Types
◼ Weak Entity Types
◼ Roles and Attributes in Relationship Types
◼ ER Diagrams - Notation
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 2
Recap: Categories of Data Models
ER Model Relational How data
Model is stored
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 2- 3
Database Design
◼ Conceptual Database Design
◼ entities, attributes, relationships
◼ Logical Database Design
◼ bridges between conceptual and physical level
◼ data structures, relationships, and constraints
◼ Physical Database Design
◼ how the logical design will be implemented on a DBMS
◼ indexing, storage, and security measures.
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 4
Overview of Database Design Process
◼ Two main activities:
◼ Database design
◼ Applications design
◼ Conceptual Database Design
◼ Design the conceptual schema for a database
application
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 5
Overview of Database Design Process
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 6
Methods for Conceptual Design
◼ Entity Relationship (ER) Diagrams
◼ Enhanced Entity Relationship (EER) Diagrams
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 7
Example COMPANY Database
◼ We need to create a Database Schema design
based on the following (simplified) requirements
of the COMPANY Database:
◼ The company is organized into DEPARTMENTs. Each
department has a name, number and an employee
who manages (manager) the department. We keep track
of the start date of the department manager. A
department may have several locations.
◼ Each department controls a number of PROJECTs.
Each project has a unique name, unique number and
is located at a single location.
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 8
Example COMPANY Database (cont.)
◼ The database will store each EMPLOYEE’s social security
number, address, salary, gender/sex, and birthdate.
◼ Each employee works for one department but may work
on several projects.
◼ The DB will keep track of the number of hours per
week that an employee currently works on each project.
◼ It is required to keep track of the direct supervisor of
each employee.
◼ Each employee may have a number of DEPENDENTs.
◼ For each dependent, the DB keeps a record of name,
gender/sex, birthdate, and relationship to the
employee.
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 9
ER Model Concepts
◼ Entities
◼ Entities are specific things or objects in the mini-world that
are represented in the database.
◼ For example: EMPLOYEE, DEPARTMENT, PROJECT
◼ Attributes
◼ Properties used to describe an entity
◼ For example: an EMPLOYEE entity may have the attributes Name,
SSN, Address, Gender/Sex, BirthDate
◼ A specific entity will have a value for each of its attributes
◼ For example: a specific employee entity may have Name='John
Smith', SSN='123456789', Address ='731, Fondren, Houston, TX',
Sex='M', BirthDate='09-JAN-55‘
◼ Each attribute has a value set (or data type) associated with it
◼ e.g., integer, string, date, enumerated type, …
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 10
Types of Attributes (1)
◼ Simple Attribute
◼ Each entity has a single atomic value for the attribute. For
example, SSN has a single value
◼ Composite Attribute
◼ The attribute may be composed of several components. For
example:
◼ Address(Apt#, House#, Street, City, State, ZipCode, Country), or
◼ Name(FirstName, MiddleName, LastName)
◼ Multi-valued Attribute
◼ An entity may have multiple values for that attribute. For
example, Phone number or Previous Degrees of a STUDENT.
◼ Denoted as {PhoneNumber} or {PreviousDegrees}.
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 11
Types of Attributes (2)
◼ In general, composite and multi-valued attributes may be
nested arbitrarily to any number of levels, although this is
rare.
◼ For example, PreviousDegrees of a STUDENT is a
composite multi-valued attribute denoted by
{PreviousDegrees (College, Year, Degree, Field)}
◼ Each has four subcomponent attributes:
◼ College, Year, Degree, Field
◼ Multiple PreviousDegrees values can exist
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 12
Example of a composite attribute
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 13
Entity Types and Key Attributes (1)
◼ Entities with the same basic attributes are
grouped or typed into an entity type.
◼ For example, the entity type EMPLOYEE
◼ Key attribute
◼ An attribute of an entity type for which each
entity must have a unique value
◼ For example, SSN is a key attribute of the
entity EMPLOYEE
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 14
Entity Types and Key Attributes (2)
◼ A key attribute may be composite.
◼ VehicleTagNumber is a key of the CAR entity
type with components (Number, State).
◼ An entity type may have more than one key.
◼ The CAR entity type may have two keys:
◼ VehicleIdentificationNumber (popularly called VIN)
◼ VehicleTagNumber (Number, State), aka license
plate number.
◼ Each key is underlined (Note: this is different from
the relational schema where only one “primary”
key is underlined).
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 15
Entity Set
◼ Each entity type will have a collection of entities
stored in the database
◼ Called the entity set or sometimes entity collection
(collection of all
entities)
A thing in a real-world with
independent existence. i.e.,
person, car
Entity (category)
◼ Entity set is the current state of the entities of that
type that are stored in the database
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 16
Value Sets (Domains) of Attributes
◼ Each simple attribute of an Entity Type is
associated with a value set
◼ E.g., If the range of ages allowed for employees is
between 18 and 65, we can specify the value set
of the Age attribute is a set of integers between 18
and 65
◼ A value set specifies the set of values associated
with an attribute
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 17
Attributes and Value Sets
◼ Value sets are similar to data types in most
programming languages – e.g., integer, character
(n), real, bit
◼ Mathematically, an attribute A for an entity type E
whose value set is V is defined as a function
A : E -> P(V)
Where P(V) indicates a power set (which means all
possible subsets) of V. The above definition
covers simple and multivalued attributes
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 18
Displaying an Entity type
◼ In ER diagrams,
◼ Entity type is displayed in a rectangular box
◼ Attributes are displayed in an oval
◼ Each attribute is connected to its entity type
◼ Components of a composite attribute are
connected to the oval representing the composite
attribute
◼ Each key attribute is underlined
◼ Multivalued attributes displayed in double ovals
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 19
NOTATION for ER diagrams
does not have primary key
Connects weak and strong entity
derived from other base attributes
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 20
Entity Type CAR with two keys and a
corresponding Entity Set
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 21
Example COMPANY Database (Recap)
◼ We need to create a Database Schema design
based on the following (simplified) requirements
of the COMPANY Database:
◼ The company is organized into DEPARTMENTs. Each
department has a name, number and an employee
who manages (manager) the department. We keep track
of the start date of the department manager. A
department may have several locations.
◼ Each department controls a number of PROJECTs.
Each project has a unique name, unique number and
is located at a single location.
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 22
Example COMPANY Database (Recap)
◼ The database will store each EMPLOYEE’s social security
number, address, salary, gender/sex, and birthdate.
◼ Each employee works for one department but may work
on several projects.
◼ The DB will keep track of the number of hours per
week that an employee currently works on each project.
◼ It is required to keep track of the direct supervisor of
each employee.
◼ Each employee may have a number of DEPENDENTs.
◼ For each dependent, the DB keeps a record of name,
gender/sex, birthdate, and relationship to the
employee.
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 23
Initial Conceptual Design of Entity Types
for the COMPANY Database Schema
◼ Based on the requirements, we can identify four
initial entity types in the COMPANY database:
◼ DEPARTMENT
◼ PROJECT
◼ EMPLOYEE
◼ DEPENDENT
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 24
Initial Conceptual Design of Entity Types:
EMPLOYEE, DEPARTMENT, PROJECT, DEPENDENT
Copyright © 2016 Ramez Elmasr and Shamkant B. Navathei Slide 3- 25