entity types

advertisement
Fundamentals of
Database Systems
Chapter 3
Data Modeling Using
Entity-Relationship Model
IM ISU
Database
1
Database Design Process
 Two main activities:
 Database design
 Applications design
 Focus in this chapter on database design
 To design the conceptual schema for a database
application
 Applications design focuses on the programs
and interfaces that access the database
 Generally considered part of software engineering
IM ISU
Database
2
Database Design Process (cont.)
 Requirements collection and analysis
 The database designers interview prospective
database users
 The result is data requirement
 Functional analysis
 Specify the known functional requirements of
the application
 Consist of user-defined operations, such as
retrievals and updates
IM ISU
Database
3
Database Design Process (cont.)
 Conceptual design
 Specify concisely the data requirement of the users,
such as entity types, relationships, and constraints
 Use high-level conceptual data model, e.g., EntityRelationship model
 Used as a reference to communicate with
nontechnical users
 Modifications to the conceptual schema can be
introduced when some functional requirements
cannot be specified
IM ISU
Database
4
Database Design Process (cont.)
 Logical design (data model mapping)
 Refer to the actual implementation of the
database using a commercial DBMS
 Need to transform the conceptual data model
into the implementation data model, e.g.,
relational model
 Physical design
 Specify the internal storage structures, access
paths, and file organizations
IM ISU
Database
5
IM ISU
Database
6
Example Database
 An COMPANY database
 The company is organized into departments
 Each department controls several projects
 Need to keep track all employee and their
working hours
 Need to keep track of the dependents of each
employee
IM ISU
Database
7
Example Database (cont.)
IM ISU
Database
8
ER Model Concepts
 Entities and Attributes
 Entities are specific objects or things in the
mini-world, e.g., EMPLOYEE John Smith
 Attributes are properties used to describe an
entity, e.g., Name, SSN, Address, Sex,
BirthDate for EMPLOYEE
 A specific entity will have a value for each of
its attributes, e.g, Name = ‘John Smith’
IM ISU
Database
9
ER Model Concepts (cont.)
 Two example entities
IM ISU
Database
10
ER Model Concepts (cont.)
 Types of attributes
 Simple vs Composite
» Each entity has a single atomic value for the
attribute, e.g., SSN
» Composite attributes may be composed of several
components, e.g., address, and may form a
hierarchy
 Single-valued vs Multi-valued
» Most attributes are single-valued, but some
attributes may have multiple values, e.g., Expert
IM ISU
Database
11
ER Model Concepts (cont.)
 An example hierarchy of composite attributes
IM ISU
Database
12
ER Model Concepts (cont.)
 Stored vs Derived
» In some case, two (or more) attributes are related
» Age (derived attribute) can be derived from the
BirthDate attribute (stored attribute)
 Complex
» In general, composite and multi-valued attributes
may be nested arbitrarily
» e.g., AddressPhone for a person
IM ISU
Database
13
ER Model Concepts (cont.)
 Entity Types and Key Attributes
 Entities with the same basic attributes are
grouped or typed into an entity type, e.g,
EMPLOYEE type
 Key attribute
» An attribute for which each entity must have a
unique value, e.g, SSN for EMPLOYEE
» A key attribute may be composite
» An entity type may have more than one key
attributes, e.g, VehicleId, Registration
IM ISU
Database
14
ER Model Concepts (cont.)
IM ISU
Database
15
ER Model Concepts (cont.)
IM ISU
Database
16
Displaying an Entity type
 In ER diagrams, an entity type is displayed in a
rectangular box
 Attributes are displayed in ovals
 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
IM ISU
Database
17
Displaying an Entity type (cont.)
 Example diagram for CAR entity type
IM ISU
Database
18
Entity Set
 Each entity type will have a collection of
entities stored in the database
 Called the entity set
 e.g, entity set for CAR
 Same name (CAR) used to refer to both the
entity type and the entity set
 Entity set is the current state of the entities of
that type that are stored in the database
IM ISU
Database
19
ER Model Concepts – Relationships
 Relationships and Relationship Types
 A relationship relates two or more distinct
entities with a specific meaning
» e.g, EMPLOYEE John Smith works on ProductX
PROJECT
 Relationships of the same type are grouped or
typed into a relationship type
IM ISU
Database
20
ER Model Concepts – Relationships
(cont.)
IM ISU
Database
21
ER Model Concepts – Relationships
(cont.)
 Degree of a relationship type: the number of
participating entity types
» e.g., WORKS_FOR is a binary relationship,
SUPPLY is a ternary relationship
 A relationship type can be represented as
attributes
» e.g., WORKS_FOR relationship =>
Department of EMPLOYEE or
Employees of DEPARTMENT
IM ISU
Database
22
ER Model Concepts – Relationships
(cont.)
IM ISU
Database
23
ER Model Concepts – Relationships
(cont.)
 Recursive relationships: A relationship relate
two entities of the same entity type
(participates in different roles)
» e.g., SUPERVISION: relates relates one
EMPLOYEE (in the role of supervisee) to another
EMPLOYEE (in the role of supervisor)
 A relationship type can have attributes
» e.g., HoursPerWeek of WORKS_ON
IM ISU
Database
24
ER Model Concepts – Relationships
(cont.)
IM ISU
Database
25
ER Model Concepts – Relationships
(cont.)
 Structural constraints on relationships
 Cardinality ratio (of a binary relationship)
» Specify the number of relationship instances that an entity
can participate in
» 1:1, 1:N, N:1, or M:N (e.g., WORKS_ON)
 Participation constraint (on each participating entity
type)
» Specifies whether the existence of an entity depends on
another entity
» Two different types
– Total (called existence dependency), e.g.,
EMPLOYEE in WORKS_FOR
– Partial, e.g., EMPLOYEE in MANAGES
IM ISU
Database
26
ER Model Concepts – Relationships
(cont.)
IM ISU
Database
27
ER Model Concepts – Relationships
(cont.)
IM ISU
Database
28
ER Model Concepts (cont.)
 Weak entity types
 Entity types that does not have a key attribute
 Entity types that have a key attribute are
called regular (or strong) entity types
 A weak entity type must participate in an
identifying relationship type with an owner
(identifying entity type)
 A weak entity type always has a total
participation constraint
IM ISU
Database
29
ER Model Concepts (cont.)
 Example
» Suppose that a DEPENDENT entity is identified
by
– the dependent's first name and birthdate
– the specific EMPLOYEE the dependent is related to
» DEPENDENT is a weak entity type
– EMPLOYEE as its identifying entity type
– via the identifying relationship type
DEPENDENT_OF
IM ISU
Database
30
Notation Summary for ER Diagrams
IM ISU
Database
31
Notation Summary for ER Diagrams
(cont.)
IM ISU
Database
32
Notation Summary for ER Diagrams
(cont.)
IM ISU
Database
33
Alternative Notation for ER Diagrams
 Alternative notation for relationship
structural constraints
 Associate (min, max) with each participation
of an entity type E in a relationship type R
» 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 0 < min < max, max > 1
» min = 0 implies partial, min > 0 implies total
IM ISU
Database
34
Alternative Notation for ER Diagrams
(cont.)
Read the min,max numbers next to the entity type
and looking away from the entity type
IM ISU
Database
35
Notation for ER Diagrams (cont.)
IM ISU
Database
36
ER Conceptual Design
 Design Paradigm
 Initial design
» Identify all entity types and their attributes
 Iterative refinement
» Refine the attribute that are reference to another
entity into a relationship
» An attribute in several entity types may be
refined into its own entity type
– e.g., Department in STUDENT, INSTRUCTOR, and
COURSE
» An inverse refinement to the previous case may
be applied
IM ISU
Database
37
ER Conceptual Design (cont.)
 Example: An company database
 Initial design
IM ISU
Database
38
IM ISU
Database
39
ER Conceptual Design (cont.)
 Refinement
We specify the following relationship types
» MANAGES, 1:1 (EMPLOYEE:DEPARTMENT)
» WORKS_FOR, 1:N (DEPARTMENT:
EMPLOYEE)
» CONTROLS, 1:N (DEPARTMENT:PROJECT)
» SUPERVISION, 1:N (EMPLOYEE:EMPLOYEE)
» WORKS_ON, M:N (EMPLOYEE:PROJECT)
» DEPENDENTS_OF, 1:N (EMPLOYEE:
DEPENDENT)
IM ISU
Database
40
ER Conceptual Design (cont.)
 In the refined design, some attributes from the
initial entity types are refined into relationships:
 Manager of DEPARTMENT -> MANAGES
 Works_on of EMPLOYEE -> WORKS_ON
 Department of EMPLOYEE -> WORKS_FOR
 In general, more than one relationship type can
exist between the same participating entity types
 relationship types MANAGES and WORKS_FOR
between EMPLOYEE and DEPARTMENT
IM ISU
Database
41
Higher Degree Relationship
 Binary relationship vs ternary (or n-ary)
relationship
 A ternary relationship type  three binary
relationship types
 cp. Fig. 4.13, (s, p), (j, p), (s, j) > (s, j, p)
 In general, a ternary relationship type
represents more information than do three
binary relationship types
» e.g., quantity, supply date
IM ISU
Database
42
Higher Degree Relationship (cont.)
IM ISU
Database
43
Higher Degree Relationship (cont.)
 In case that only binary relationships are
permitted, a ternary relationship must be
» represented as a weak entity type with no partial
key, and
» with three identifying relationships
 It is often tricky to decide when to use binary
or n-degree relationship representation
IM ISU
Database
44
Higher Degree Relationship (cont.)
IM ISU
Database
45
Higher Degree Relationship (cont.)
» (i, c, s) => (i, c), (i, s), (c, s)
» (i, c), (i, s), (c, s) > (i, c, s)
IM ISU
Database
46
Higher Degree Relationship (cont.)
 Constraints on ternary (or n-ary)
relationships
 Cardinality ratio
 Participation constraint
» Partial
» Total
 (min, max) notation
IM ISU
Database
47
Chapter Summary
 ER Model Concepts: Entities, attributes,
relationships
 Constraints in the ER model
 Using ER in step-by-step conceptual schema
design for the COMPANY database
 ER Diagrams - Notation
 Alternative Notations
IM ISU
Database
48
Download