Entity Relationship
Diagram
Lecturer:
Hesham Gamal Gaafar
[email protected]
Room:3004
Made by:
Shahinaz S. Azab
Entity Relationship Modeling
Entity-Relationship Diagram (ERD): identifies
information required by the business by displaying the
relevant entities and the relationships between them.
2
Definitions
• Entity - An entity is a thing in the real world with an independent
existence. Physical existence (for example, a particular person,
car) or conceptual existence (for instance, a job, or a university
course). Types of entities: Weak- Regular
• Entity Instance - An instance is a particular occurrence of an
entity. For example, each person is an instance of an entity,
each car is an instance of an entity, etc.
• Attribute - The particular properties that describe the entity. An
EMPLOYEE entity may be described by the employee’s name,
age, address and salary attributes.
3
Entities
• Strong Entity
• Weak Entity Entity
Weak Entity
4
Weak Entity Types
• An entity that does not have a key attribute
• A weak entity must participate in an identifying
relationship type with an owner or identifying entity type
• Entities are identified by the combination of:
• A partial key of the weak entity type
• The particular entity they are related to in the
identifying entity type
5
Types of Attributes
• Key: an attribute whose values are distinct (unique) for each
entity and can be used to uniquely identify the record
• Multi-valued: has a set of values for the same entity instance
• Composite: can be divided into smaller subparts
• Derived: can be calculated from another attribute or entity
• Single/Simple: Attributes that are not divisible and have a single
value for a particular entity instance
6
Key Attribute
• Single Key: For example, SSN of EMPLOYEE
• Composite Key: the combination of the attribute
values that together form a key and must be distinct
for each entity. For example, ID and Application_no
• Candidate Key: when an entity type has more than
one key, those are candidate keys
7
Simple Attributes
ID Name
Employee
8
Composite Attributes
Month
Day
Birth
Date
Year
Employee
9
Derived Attributes
Birth
Date
Employee Age
10
Multi-Valued Attributes
Employee
Phone
11
Complex Attributes
Value
Type
Contact
Employee
12
Relationships
• Relationships - A relationship is a connection
between entity classes.
1. Degree of a Relationship: is the number of
participating entity
2. Cardinality Ratio: specifies the maximum
number of relationship
3. Participation: specifies the minimum number of
relationship instances that each entity can
participate with.
13
Degree Of Relationships
• 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
14
Unary Relation (Recursive)
Married
Person to
Manag
Employee es
15
Binary Relation
Employee Has Car
16
Ternary Relation
Date
Doctor Gives Patient
Drug
17
Cardinality
• How many instances of one entity will or must be connected to a single
instance from the other entities.
• One-One Relationship
• One-Many Relationship
• Many- Many Relationship
18
One-One Relationship
1 1
Person Has Passport
19
One-Many Relationship
1 M
Person Has Car
20
Many-ManyRelationship
M M
Student Study Course
21
Participation Constraint
Employee Has Car
• An employee may have a car ( Zero or more)
• A car must be owned by an Employee
• (Employee membership is Optional, Car membership is Mandatory)
22
Participation Example
Department Hire Employee
- A department may hire many employees ( Zero or more)
- An employee must be employed by a department
(Department membership is Optional, Employee
membership is Mandatory)
23
Relationships (Summary)
1. Degree of a Relationship
a. Unary/ Recursive
Emp lead
b. Binary
Emp work Dept
c. Ternary
Supplier supply Part
Project
24
Relationships (Summary)
2. Cardinality Ratio
a. One to one
1 1
Emp manage Dept
b. One to many
M 1
Emp work Dept
c. Many to many
M N
Emp work Proj
25
Relationships (Summary)
3. Participation
a. Total/ Full Dependency/ Mandatory
b. Partial/ Partial Dependency/ Optional
1 1
Emp manage Dept
Partial Total
26
SUMMARY OF ERD NOTATION
Symbol Meaning
ENTITY TYPE
WEAK ENTITY TYPE
RELATIONSHIP TYPE
IDENTIFYING RELATIONSHIP TYPE
ATTRIBUTE
KEY ATTRIBUTE
MULTIVALUED ATTRIBUTE
COMPOSITE ATTRIBUTE
DERIVED ATTRIBUTE
E1 R E2 TOTAL PARTICIPATION OF E2 IN R
N CARDINALITY RATIO 1:N FOR E1:E2 IN R
E1 R E2
(min,max) STRUCTURAL CONSTRAINT (min, max) ON PARTICIPATION
R E OF E IN R
27
An Example
• A company is organized into departments. Each
department has a unique name, a unique number,
and a particular employee who manages the
department. A department may have several
locations.
• A department may control a number of projects, each
of which has a unique name, a unique number, and a
single location. A project must controlled by
department
28
An Example (Cont’d)
• We store employee’s name, social security number,
address, salary, gender and birth date. An employee
must be assigned to one department and must work
on one or more projects, which are not necessarily
controlled by the same department. We keep track of
the number of hours per week that an employee
works on each project. We also keep track of the
direct supervisor of each employee.
• We want to keep track of the dependents of each
employee for insurance purposes. We keep each
dependent’s first name, gender, birth date and
relationship to that employee.
29
30
Questions ?
31
ERD Case Study
An organization makes many models of cars, where
a model is characterized by a unique name and a
suffix (such as GL or XL) and an engine size.
Each model is made up from many parts and Each
part has a description , an id code, production year,
and many images.
• each part may be used in the manufacturing of more
than one model
32
ERD Case Study
• Each model must be produced at just one of the firm's
factories, which are located in London, Birmingham,
Bristol, Wolverhampton and Manchester - one in each
city. Each factory has number of machines, capacity,
and computer system used ( OS , DBMS, Internet).
• A factory produces many models of cars and many
types of parts.
33
ERD Case Study 2
• A country bus company owns a number of buses. A
bus is characterized by number, No. of Chairs,
Options ( AC , Automatic, PS) , and brand-name
• Each bus is allocated to a particular route, although
some routes may have several buses . Each route is
described by KM, start point, end point and the
duration.
34
ERD Case Study 2
• Each route can passes through a number of towns.
• A town may be situated along several routes. We
keep track of unique name and station names in
each town.
• One or more drivers are allocated to one route during
a period of time. The system keep information about
the driver name , mobile number , hire date, basic
salary , job grade.
• The system keep information about any changes in
the allocations of the drivers to the routes.
35
ERD Narrative: Lab
• A database for a banking system is used to control
withdrawal, deposit and loan transactions with
customers.
• Banks which use this system have many branches;
each branch has a unique name, unique address and
phone.
• The system stores information about customers as
unique customer ID, name, address, and phones.
36
ERD Narrative ( Cont’d)
• Each customer has one Account identified by unique
Account number, amount, last transaction date (Day,
Month and Year).
• The system records Transaction number, Transaction
type, Transaction date, Transaction amount and time.
The system records the branch name where the
transaction occurred.
• A Customer can make any type of transactions
(Withdrawal or Deposit) from any branch of the bank.
37