0% found this document useful (0 votes)
76 views42 pages

Entity-Relationship (ER) Model: Ceng 302 Introduction To DBMS

Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
76 views42 pages

Entity-Relationship (ER) Model: Ceng 302 Introduction To DBMS

Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 42

METU Department of Computer Eng

Ceng 302 Introduction to DBMS


Entity-Relationship (ER) Model
by
Pinar Senkul

resources: mostly froom Elmasri, Navathe


and other books
Chapter Outline
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
ER Diagram for COMPANY Schema
Example COMPANY
Database
Requirements of the Company
(oversimplified for illustrative purposes)
The company is organized into
DEPARTMENTs. Each department has a
name, number and an employee who
manages the department. We keep track
of the start date of the department
manager.
Each department controls a number of
PROJECTs. Each project has a name,
number and is located at a single location.
Example COMPANY Database
(Cont.)

We store each EMPLOYEE’s TC id no,


address, salary, sex, and birthdate. Each
employee works for one department but
may work on several projects. We keep
track of the number of hours per week
that an employee currently works on each
project. We also keep track of the direct
supervisor of each employee.
Each employee may have a number of
DEPENDENTs. For each dependent, we
keep track of their name, sex, birthdate,
and relationship to employee.
ER Model Concepts
Entities and Attributes
Entities are specific objects or things in the mini-world
that are represented in the database. For example the
EMPLOYEE Hulya Avsar, the Research DEPARTMENT, the
GIS PROJECT
Attributes are properties used to describe an entity. For
example an EMPLOYEE entity may have a Name, TC
number, Address, Sex, BirthDate
A specific entity will have a value for each of its
attributes. For example a specific employee entity may
have Name='Cem Yilmaz', TCN='123456789', Address
='Uzun sk No:40 Kadikoy Istanbul Turkey', Sex='M',
BirthDate='09-JAN-70‘
Each attribute has a value set (or data type) associated
with it – e.g. integer, string, subrange, enumerated type,

Types of Attributes (1)
Simple
Each entity has a single atomic value for the attribute.
For example, TCN or Sex.
Composite
The attribute may be composed of several components.
For example, Address (Apt#, House#, Street, City,
State, ZipCode, Country) or Name (FirstName,
MiddleName, LastName). Composition may form a
hierarchy where some components are themselves
composite.
Multi-valued
An entity may have multiple values for that attribute.
For example, Telehone Numbers or PreviousDegrees of
a STUDENT. Denoted as {Telephone Number} or
{PreviousDegrees}.
Entity Types and Key Attributes

Entities with the same basic attributes are grouped or typed into
an entity type.
For example, the EMPLOYEE entity type or the PROJECT entity
type.
An attribute of an entity type for which each entity must have a
unique value is called a key attribute of the entity type.
For example, TCNo of EMPLOYEE.
A key attribute may be composite.
For example, course no and department code together
constitutes a key like CENG 302 (there may be other 302
courses in other departments).
An entity type may have more than one key.
For example, for a vehicle both of the below numbers are
unique
Vehicle plate number
Engine number
ENTITY SET corresponding to the
ENTITY TYPE Movie
Movie
Name, Year, Language, Director, {Leading Actor}, {Leading Actress}

movie1
(“Gone with the Wind”, 1950, English, “Victor Fleming”,
{“Clark Gable”},{“Vivien Leigh”})

movie2
(“Hababam Sinifi Merhaba”,2004 ,Turkish ,”Kartal Tibet”,
{Halit Akcatepe,M.Ali Erbil, M.Ali Alabora},{Hulya Kocyigit,
Nehir Erdogan})

.
.
.
SUMMARY OF ER-DIAGRAM
NOTATION FOR ER SCHEMAS
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
E1 R E2 CARDINALITY RATIO 1:N FOR E1:E2 IN R
(min,max)
R E STRUCTURAL CONSTRAINT (min, max) ON PARTICIPATION
OF E IN R
ER DIAGRAM – Entity Types are:
EMPLOYEE, DEPARTMENT, PROJECT,
DEPENDENT
Relationships and Relationship Types (1)
A relationship relates two or more distinct entities with a
specific meaning.
For example, EMPLOYEE Bill Gates works on the Linux
Project or
EMPLOYEE Cem Yilmaz manages the Entertainment
Department.
Relationships of the same type are grouped or typed into a
relationship type.
For example, the WORKS_ON relationship type in which
EMPLOYEEs and PROJECTs participate, or
the MANAGES relationship type in which EMPLOYEEs and
DEPARTMENTs participate.
The degree of a relationship type is the number of
participating entity types. Both MANAGES and WORKS_ON
are binary relationships.
Example relationship instances of the WORKS_FOR
relationship between EMPLOYEE and DEPARTMENT
EMPLOYEE WORKS_FOR DEPARTMENT

r1
e1   d1
e2  r2

e3  r3  d2

e4  r4
e5   d3
r5
e6 
r6
e7 
r7
Example relationship instances of the WORKS_ON
relationship between EMPLOYEE and PROJECT

r9
r1
e1   p1
e2  r2

e3  r3  p2

e4  r4
e5   p3
r5
e6 
r6
e7 
r 8 r7
Relationships and Relationship
Types (2)
More than one relationship type can exist with
the same participating entity types. For example,
MANAGES and WORKS_FOR are distinct
relationships between EMPLOYEE and
DEPARTMENT, but with different meanings and
different relationship instances.
SUMMARY OF ER-DIAGRAM
NOTATION FOR ER SCHEMAS
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
E1 R E2 CARDINALITY RATIO 1:N FOR E1:E2 IN R
(min,max)
R E STRUCTURAL CONSTRAINT (min, max) ON PARTICIPATION
OF E IN R
ER DIAGRAM – Relationship Types are:
WORKS_FOR, MANAGES, WORKS_ON, CONTROLS,
SUPERVISION, DEPENDENTS_OF
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
Example:
Suppose that a DEPENDENT entity is identified by the
dependent’s first name and birhtdate, and the specific
EMPLOYEE that the dependent is related to.
DEPENDENT is a weak entity type with EMPLOYEE as its
identifying entity type via the identifying relationship
type DEPENDENT_OF
Weak Entity Type is: DEPENDENT
Identifying Relationship is: DEPENDENTS_OF
Constraints on Relationships

Constraints on Relationship Types


( Also known as ratio constraints )
Maximum Cardinality
One-to-one (1:1)
One-to-many (1:N) or Many-to-one (N:1)
Many-to-many
Minimum Cardinality (also called
participation constraint or existence
dependency constraints)
zero (optional participation, not existence-
dependent)
one or more (mandatory, existence-
dependent)
Many-to-one (N:1) RELATIONSHIP
EMPLOYEE WORKS_FOR DEPARTMENT

r1
e1   d1
e2  r2

e3  r3  d2

e4  r4
e5   d3
r5
e6 
r6
e7 
r7
Many-to-many (M:N) RELATIONSHIP

r9
r1
e1   p1
e2  r2

e3  r3  p2

e4  r4
e5   p3
r5
e6 
r6
e7 
r 8 r7
Relationships and Relationship Types (3)

We can also have a recursive relationship type.


Both participations are same entity type in
different roles.
For example, SUPERVISION relationships
between EMPLOYEE (in role of supervisor or
boss) and (another) EMPLOYEE (in role of
subordinate or worker).
In following figure, first role participation labeled
with 1 and second role participation labeled with
2.
In ER diagram, need to display role names to
distinguish participations.
A RECURSIVE RELATIONSHIP
SUPERVISION
EMPLOYEE SUPERVISION

e1  2 r1
1
e2 
2 r2
1
e3  2
e4  1 r3
2
e5  1
1 r4
e6  2
1
r5
e7  2
r6

© The Benjamin/Cummings Publishing Company, Inc. 1994, Elmasri/Navathe, Fundamentals of Database Systems, Second Edition
Recursive Relationship Type is:
SUPERVISION
(participation role names are shown)
Attributes of Relationship types

A relationship type can have attributes; for


example, HoursPerWeek of WORKS_ON; its
value for each relationship instance describes
the number of hours per week that an
EMPLOYEE works on a PROJECT.
Attribute of a Relationship Type is:
Hours of WORKS_ON
Structural Constraints –
one way to express semantics
of relationships
Structural constraints on relationships:
Cardinality ratio (of a binary relationship): 1:1, 1:N,
N:1, or M:N
Maximum number of relationship instances that an
entity can participate. It is shown by numbers on lines.

Participation constraint (on each participating entity


type): total (called existence dependency) or partial.
Minimum number of relationship instances that an
entity can participate. Total participation constraint is
shown by double lining the link.
NOTE: These are easy to specify for Binary Relationship
Types.
Alternative (min, max) notation for relationship
structural constraints:

Specified on each participation of an entity type E in a relationship type R


Specifies that each entity e in E participates in at least min and at most
max relationship instances in R
Default(no constraint): min=0, max=n
Must have min<=max, min>=0, max >=1
Derived from the knowledge of mini-world constraints
Examples:
A department has exactly one manager and an employee can manage at
most one department.
Specify (0,1) for participation of EMPLOYEE in MANAGES
Specify (1,1) for participation of DEPARTMENT in MANAGES
An employee can work for exactly one department but a department can
have any number of employees.
Specify (1,1) for participation of EMPLOYEE in WORKS_FOR
Specify (1,n) for participation of DEPARTMENT in WORKS_FOR
The (min,max) notation relationship
constraints

(0,1) (1,1)

(1,1) (1,N)
COMPANY ER Schema Diagram
using (min, max) notation
Relationships of Higher
Degree

Relationship types of degree 2 are called binary

Relationship types of degree 3 are called ternary


and of degree n are called n-ary

In general, an n-ary relationship is not equivalent to


n binary relationships
Relationships of Higher
Degree
Assume that you want to model the following
structure
You keep info about parts, projects and parts
For some project, a part is supplied by a certain
supplier
Relationships of Higher Degree
Higher
Degree
Relationship
vs.
Aggregation
Some Guidelines

First of all, schema design process is an iterative


refinement process
A concept that is first defined as attribute can be
refined into a relationship because it is determined
that the atttibute is a reference to another entity
type
An attribute that exists in several entity types can
be promoted to an independent entity
An independent entity that is only related to one
other entity type can be defined as attribute of the
other entity type
UML DESCRIPTION OF COMPANY
EXAMPLE
Data Modeling Tools

A number of popular tools that cover


conceptual modeling and mapping into
relational schema design.

Examples:
ERWin,
S- Designer (Enterprise Application
Suite),
ER- Studio, etc.
Some of the Currently Available Automated Database
Design Tools
COMPANY TOOL FUNCTIONALITY
Embarcadero ER Studio Database Modeling in ER and IDEF1X
Technologies
DB Artisan Database administration and space and security
management
Oracle Developer 2000 and Database modeling, application development
Designer 2000
Popkin Software System Architect 2001 Data modeling, object modeling, process modeling,
structured analysis/design
Platinum Platinum Enterprice Data, process, and business component modeling
Technology Modeling Suite: Erwin,
BPWin, Paradigm Plus
Persistence Inc. Pwertier Mapping from O-O to relational model

Rational Rational Rose Modeling in UML and application generation in C++


and JAVA
Rogue Ware RW Metro Mapping from O-O to relational model

Resolution Ltd. Xcase Conceptual modeling up to code maintenance

Sybase Enterprise Application Suite Data modeling, business logic modeling


Visio Visio Enterprise Data modeling, design and reengineering Visual Basic
and Visual C++
ER DIAGRAM FOR A BANK
DATABASE

© The Benjamin/Cummings Publishing Company, Inc. 1994, Elmasri/Navathe, Fundamentals of Database Systems, Second Edition
ER DIAGRAM FOR A BANK
DATABASE
List the entity types. Tell which ones are non weak and
which ones are weak entity types.
What constraints do the partial key and identifying
relationship of the weak entity types specify in this
example
List relationships and and tell the participation constraints
and existence dependencies for the relationships
Suppose that every customer must have at least one
account but is restricted to at most two loans at a time,
and that a bank branch cannot have more than 1000
loans. How does this show up on the diagram.

You might also like