2_EntityRelationship-Model-241-trang-1.pdf

chang465730 12 views 69 slides Oct 04, 2024
Slide 1
Slide 1 of 69
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52
Slide 53
53
Slide 54
54
Slide 55
55
Slide 56
56
Slide 57
57
Slide 58
58
Slide 59
59
Slide 60
60
Slide 61
61
Slide 62
62
Slide 63
63
Slide 64
64
Slide 65
65
Slide 66
66
Slide 67
67
Slide 68
68
Slide 69
69

About This Presentation

eeeeeee


Slide Content

Entity-Relationship Model
Chapter 2

Contents
2
1Overview of Database Design Process
2A Sample Database Application
3What is ER Model? And Why?
4ER Model Concepts
5ER Diagram and Naming Conventions
6Alternative Diagrammatic Notations
7Problems with ER Models

Contents
3
1Overview of Database Design Process
2A Sample Database Application
3What is ER Model? And Why?
4ER Model Concepts
5ER Diagram and Naming Conventions
6Alternative Diagrammatic Notations
7Problems with ER Models

Overview of Database Design Process
4
}Database design
}To design the conceptual schema for a database
application
}Applications design
}Focus on the programs and interfaces that access the
database
}Generally considered part of software engineering

Miniworld
APPLICATION PROGRAM
DESIGN
TRANSACTION
IMPLEMENTATION
Data requirements
Conceptual schema
Database schema
Functional requirements
Internal schema
High-level transaction
specification
LOGICAL DESIGN
(DATA MODEL MAPPING)
REQUIREMENTS -COLLECTION & ANALYSIS
CONCEPTUAL DESIGN
PHYSICAL DESIGN
FUNCTIONAL ANALYSIS
Application program
DBMS
–independent
DBMS
–specific
Application DesignDatabase Design
Overview of Database
Design Process
5

Miniworld
Data requirements
Conceptual schema
Database schema
Internal schema
LOGICAL DESIGN
(DATA MODEL MAPPING)
REQUIREMENTS -COLLECTION & ANALYSIS
CONCEPTUAL DESIGN
PHYSICAL DESIGN
DBMS
–independent
DBMS
–specific
Database Design
Overview of Database
Design Process
•Interview prospective
database users
•Result:
üData requirements
üFunctional
requirements
6

Miniworld
Data requirements
Conceptual schema
Database schema
Internal schema
LOGICAL DESIGN
(DATA MODEL MAPPING)
REQUIREMENTS -COLLECTION & ANALYSIS
CONCEPTUAL DESIGN
PHYSICAL DESIGN
DBMS
–independent
DBMS
–specific
Database Design
Overview of Database
Design Process
•Create a conceptual
schema using a high-
level conceptual data
model (Entity-
Relationship model)
•Descriptions of entity
types, relationships,
and constraints
•Independentof
storage and
implementation details.
7

Miniworld
Data requirements
Conceptual schema
Database schema
Internal schema
LOGICAL DESIGN
(DATA MODEL MAPPING)
REQUIREMENTS -COLLECTION & ANALYSIS
CONCEPTUAL DESIGN
PHYSICAL DESIGN
DBMS
–independent
DBMS
–specific
Database Design
Overview of Database
Design Process
•Create a database
schemain
implementation data
model of a commercial
DBMS
•Data model mapping
is often automated or
semi-automated within
the database design
tool.
8

Miniworld
Data requirements
Conceptual schema
Database schema
Internal schema
LOGICAL DESIGN
(DATA MODEL MAPPING)
REQUIREMENTS -COLLECTION & ANALYSIS
CONCEPTUAL DESIGN
PHYSICAL DESIGN
DBMS
–independent
DBMS
–specific
Database Design
Overview of Database
Design Process
•Specify internal storage
structures, file
organizations, indexes,
access paths, and
physical design
parameters for the
database files.
9

Contents
10
1Overview of Database Design Process
2A Sample Database Application
3What is ER Model? And Why?
4ER Model Concepts
5ER Diagram and Naming Conventions
6Alternative Diagrammatic Notations
7Problems with ER Models

A Sample Database Application
11
}Design a database for a COMPANY thatkeeps track of
employees, departments, and projects
èREQUIREMENTS -COLLECTION & ANALYSIS
Data requirements
-Entities
-Attributes
-Relationships
-Constraints

A Sample Database Application
12
}The COMPANYdatabase: keeps track of employees,
departments, and projects.
}The company is organized into DEPARTMENTs. Each
department has a unique name, a unique number, and
a particular employee who managesthe department.
We keep track of the start date when that employee
began managing the department. A department may
have several locations.
}A department controlsa number of PROJECTs, each of
which has a unique name, a unique number, and a
single location.

A Sample Database Application
13
}We store EMPLOYEE’s name, Social Security number,
address, salary, sex, and birth date. An employee is
assigned to one department, but may work on several
projects, which are not necessarily controlled by the
same department. We keep track of the current
number of hours per week that an employee works on
each project. We also keep track of the direct
supervisorof each employee.
}We want to keep track of the DEPENDENTs of each
employee, including first name, sex, birth date, and
relationship to the employee.

Entity-Relationship
Diagram (ERD) for
COMPANY Database
14

Data requirements
-Entities
-Attributes
-Relationships
-Constraints
Case study: Requirements -Collection & Analysis
15
GROUPAGROUP B
Asystem for course
registration of HCMUT
A systemfor a Library of a
University

Contents
16
1Overview of Database Design Process
2A Sample Database Application
3What is ER Model? And Why?
4ER Model Concepts
5ER Diagram and Naming Conventions
6Alternative Diagrammatic Notations
7Problems with ER Models

What is ER Model?
17
}Entity-Relationship (ER) model
}Popular high-level conceptual data model
}A logical organisation of data within a database system
}ER Diagrams (ERD):
}Diagrammatic notation associated with the ER model
}Conceptual Design:
Data requirements àConceptual Schema (ERD)

Why use ER data modelling?
18
}User requirements can be specified formally &
unambiguously
}It can be easily understood by ordinary users.
}It provides an effective bridge between user
requirements and logical database design and
implementation
}The conceptual data model is independent of any
particular DBMS
}It does not involve any physical or implemental details

Contents
19
1Overview of Database Design Process
2A Sample Database Application
3What is ER Model? And Why?
4ER Model Concepts
5ER Diagram and Naming Conventions
6Alternative Diagrammatic Notations
7Problems with ER Models

ER Model Concepts
20
}ER model describes data as:
}Entities
}Attributes
}Relationships

ERD for
COMPANY Database
21

Entity
22
}Entityis a thing in the real world with an independent
existence.
}An entity may be an object with a physical existence (a
person, a car, a house, or an employee) or an object
with a conceptual existence (a company, a job, or a
university course)
}Examples: In a COMPANY:
}the EMPLOYEE John Smith
}the ResearchDEPARTMENT
}the ProductXPROJECT

Attribute
23
}Attributesare properties described an entity.
}Ex: an EMPLOYEE entity may have Name, SSN, Address,
Sex, BirthDate
}A specific entity will have a value for each of its
attributes.
}Each attribute has a value set (or data type)
associated with it.

Types of Attributes
24
}Simple attributehas a single atomic value.
}SSN, Sex
}Composite attribute may be composed of several
components.
}Name (First name, Middle name, Last name)
}Multi-valued attribute has multiple values.
}Colors of a Car {Color}, Phones of a Person {Phone}
}Derived attribute has a value that is derivable from
values of related attributes.
}Number of students in a class
}Complex attributeis a combination of composite and
multivalued attributes.

Entities and Attributes
25
Two entities, EMPLOYEE e1, and COMPANY c1, and
their attributes.

Entity Types
26
}Collection (or set) of entities that have the same
attributes

Keys
27
}Key or uniqueness constraint
}Attributes whose values are distinctfor each individual
entity in entity set
}Uniqueness property must hold for every entity set of the
entity type
}Ex: SSN of EMPLOYEE
}An entity type may have more than one key.
}Ex: the STUDENT entity type may have two keys (in
university context):
}Citizen ID and
}Student ID

Notations of Entity type, Attributes, Key
28
}Entity type
}Simple attribute
}Composite attribute
}Multi-valued attribute
}Derived attribute
}KeyKey

Entity Type CAR with two keys and a
corresponding Entity Set
29

The COMPANY database:
}The company is organized into departments. Each
department has a unique name, a unique number, and
a particular employee who manages the department.
We keep track of the start date when that employee
began managing the department. A department may
have several locations.
}A department controls a number of projects, each of
which has a unique name, a unique number, and a
single location.
The COMPANY database:
}The company is organized into DEPARTMENTs. Each
department has a unique name, a unique number,
and a particular employee who manages the
department. We keep track of the start date when that
employee began managing the department. A
department may have several locations.
}A department controls a number of PROJECTs, each of
which has a unique name, a unique number, anda
single location.
Identify Entity Types and Attributes
30

}We store employee’s name, social security number,
address, salary, sex, and birth date. An employee is
assigned to one department, but may work on several
projects, which are not necessarily controlled by the
same department. We keep track of the current
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, including first name, sex, birth date, and
relationship to the employee.
}We store EMPLOYEE’s name,Social Security number,
address, salary, sex, andbirth date. An employee is
assigned to one department, but may work on
several projects, which are not necessarily controlled
by the same department. We keep track of the current
number of hours per weekthat 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, including first name, sex, birth date, and
relationshipto the employee.
Identify Entity Types, Attributes
31

Initial Conceptual Design of COMPANY Database
32

ERD for
COMPANY Database
33

Case study: Identify Entity Types and Attributes
34
GROUPAGROUP B
Asystem for course
registration of HCMUT
A systemfor a Library of a
University
Key
Entity type
Simple att.
Key
Composite att.
Multi-valued
attribute
Derived
attribute

Relationships and Relationship Types
35
}Relationship type Ramong nentity types E1, E2, ..., En
}Defines a set of associations among entities from these
entity types
}Ex: Relationship type WORKS_FOR between EMPLOYEEs
and DEPARTMENTs
}Relationship instancesri
}Each riassociates nindividual entities (e1, e2, ..., en). Each
entity ejin riis a member of entity set Ej
}Ex: EMPLOYEE John Smith works on the PROJECT
ProductX

Relationships and Relationship Types
36
}Degreeof a relationship type
}Number of participating entity types
}Binary (degree 2), ternary (degree 3), and n-ary(degree
n)
}More than one relationship type can exist with the
same participating entity types.
}EMPLOYEE –Works-for–DEPARTMENT
}EMPLOYEE -Manages–DEPARTMENT

Example relationship instances
37 A binary relationship

A ternary relationship
Example relationship instances
38

Relationships and Relationship Types
}Recursive relationships
}Same entity type participates more than once in a
relationship type in different roles
}Must specify rolethat a participating entity plays in each
relationship instance
}Ex: SUPERVISION relationships between EMPLOYEE (in
role of supervisor or boss) and (another) EMPLOYEE (in
role of subordinate or worker)
39

A Recursive Relationship SUPERVISION
40
1: supervisor
2: supervisee

Constraints on Binary Relationship Type
41
}Structural constraints: one way to express semantics
of relationship: cardinality ratio and participation
constraint.
}Cardinality ratio:specifies maximum number of
relationship instances that entity can participate in a
binary relationship.
}one-to-one (1:1)
}one-to-many (1:M) or many-to-one (M:1)
}many-to-many (M:N)

One-to-one (1:1) RELATIONSHIP
42

Many-to-many (M:N) RELATIONSHIP
43

Constraints on Binary Relationship Type
44
}Participation constraint (or membership class):
specifies whether existence of entity depends on its
being related to another entity
}Mandatory(total participation) -every instance of a
participating entity type must participate in the
relationship. (double line)
}Optional(partial participation) -not every instance of a
participating entity type must participate in the
relationship. (single line)

Notations of Relationship type
45
}Relationship type
DEPARTMENTEMPLOYEEWorks-
for
1N
Cardinality
ratio
Participation
constraint
An EMPLOYEE works for oneDEPARTMENT.
A DEPARTMENT has manyEMPLOYEEs.
An EMPLOYEE mustworks for a DEPARTMENT.
A DEPARTMENT mayhave noEMPLOYEE.
1N

Attributes of Relationship Types
}A relationship type can have attributes.
}HoursPerWeekof WORKS_ON
}1:1 relationship type: relationship attributes can be
migrated to any participating entity type.
}1:N relationship type: relationship attributes can be
migrated only to entity type on N-side of relationship.
}M:N relationship types: relationship attributes cannot
be migrated to any entity type.
46

ERD for
COMPANY Database
47

Weak Entity Types
}Do not have key attributes of their own
}Identified by being related to specific entities from
another entity type
}Identifying relationship: Relates a weak entity type
to its owner
}Always has a total participation constraint
}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
48

Notations of Relationship type
49
}Weak entity type
}Identifying relationship type
}Partial key
EMPLOYEEDEPENDENTOf1N
Identifying/Parent/
Owner entity type
SSNName

The COMPANY database:
}The company is organized into departments. Each
department has a unique name, a unique number, and
a particular employee who manages the department.
We keep track of the start date when that employee
began managing the department. A department may
have several locations.
}A department controls a number of projects, each of
which has a unique name, a unique number, and a
single location.
The COMPANY database:
}The company is organized into DEPARTMENTs. Each
department has a unique name, a unique number,
and a particular employee who managesthe
department. We keep track of the start date when that
employee began managing the department. A
department may have several locations.
}A department controls a number of PROJECTs, each of
which has a unique name, a unique number, anda
single location.
Identify Entity Types, Attributes, Relationships
50

}We store employee’s name, social security number,
address, salary, sex, and birth date. An employee is
assigned to one department, but may work on several
projects, which are not necessarily controlled by the
same department. We keep track of the current
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, including first name, sex, birth date, and
relationship to the employee.
}We store EMPLOYEE’s name, Social Security number,
address, salary, sex, andbirth date. An employee is
assigned to one department, but may work onseveral
projects, which are not necessarily controlled by the
same department. We keep track of the current number
of hours per weekthat 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, including first name, sex, birth date, and
relationshipto the employee.
Identify Entity Types, Attributes, Relationships
51

ERD for
COMPANY Database
52

Contents
53
1Overview of Database Design Process
2A Sample Database Application
3What is ER Model? And Why?
4ER Model Concepts
5ER Diagram and Naming Conventions
6Alternative Diagrammatic Notations
7Problems with ER Models

ER Diagram and Naming Conventions
54
}An ER model can be expressed in the form of the ER
diagram.
}Proper Naming of Schema Constructs:
}Choose names that convey meanings attached to different
constructs in schema
}Nounsgive rise to entity type names
}Verbsindicate names of relationship types
}Choose binary relationship names to make ER diagram
readable from left to right and from top to bottom

55
Summary of the
Notation for ER
Diagrams

The COMPANY database:
}The company is organized into departments. Each
department has a unique name, a unique number, and
a particular employee who manages the department.
We keep track of the start date when that employee
began managing the department. A department may
have several locations.
}A department controls a number of projects, each of
which has a unique name, a unique number, and a
single location.
The COMPANY database:
}The company is organized into DEPARTMENTs. Each
department has a unique name, a unique number,
and a particular employee who managesthe
department. We keep track of the start date when that
employee began managing the department. A
department may have several locations.
}A department controls a number of PROJECTs, each of
which has a unique name, a unique number, anda
single location.
Draw Entity-Relationship Diagram
56

}We store employee’s name, social security number,
address, salary, sex, and birth date. An employee is
assigned to one department, but may work on several
projects, which are not necessarily controlled by the
same department. We keep track of the current
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, including first name, sex, birth date, and
relationship to the employee.
}We store EMPLOYEE’s name, Social Security number,
address, salary, sex, andbirth date. An employee is
assigned to one department, but may work onseveral
projects, which are not necessarily controlled by the
same department. We keep track of the current number
of hours per weekthat 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, including first name, sex, birth date, and
relationshipto the employee.
Draw Entity-Relationship Diagram
57

ERD for
COMPANY Database
58

Case study: Draw ERD
59
GROUPAGROUP B
Asystem for course
registration of HCMUT
A systemfor a Library of a
University

Contents
60
1Overview of Database Design Process
2A Sample Database Application
3What is ER Model? And Why?
4ER Model Concepts
5ER Diagram and Naming Conventions
6Alternative Diagrammatic Notations
7Problems with ER Models

Alternative Diagrammatic Notations
61
}(Min-max) notation for relationships
}Specify structural constraints on relationships
}Replaces cardinality ratio (1:1, 1:N, M:N) and
single/double line notation for participation constraints
}Associate a pair of integer numbers (min, max) with each
participation of an entity type E in a relationship type R,
where 0 ≤ min ≤ max and max ≥ 1

(min, max) notation
DEPARTMENTEMPLOYEEWorks-
for
(4,N)(1,1)
62
DEPARTMENTEMPLOYEEManages(1,1)(0,1)

63

Alternative Diagrammatic Notations
}UML methodology
}Used extensively in software design
}Many types of diagrams for various software design
purposes
}UML class diagrams
}Entity in ER corresponds to an object in UML
64

65

Alternative Diagrammatic Notations
}UML class diagrams
}Classincludes three sections:
}Top section gives the class name
}Middle section includes the attributes;
}Last section includes operations that can be applied to
individual objects
}Associations: relationship types
}Relationship instances: links
66

Alternative Diagrammatic Notations
}UML class diagrams
}Binary association
}Represented as a line connecting participating classes
}May optionally have a name
}Link attribute
}Placed in a box connected to the association’s line by a
dashed line
67

Alternative Diagrammatic Notations
}UML class diagrams
}Multiplicities: min..max, asterisk (*) indicates no
maximum limit on participation
}Types of relationships: associationand aggregation
}Distinguish between unidirectionaland bidirectional
associations
}Model weak entities using qualifiedassociation
68

Alternative Diagrammatic Notations
Symbols for entity type / class,
attribute and relationshipDisplaying attributes
Displaying
cardinality ratios
Various (min, max)
notations
Notations for displaying
specialization / generalization
69
Tags