Transcript ER Modeling
David M. Kroenke’s
Database Processing:
Fundamentals, Design, and Implementation
Chapter Five: Data Modeling with the Entity-Relationship Model
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-1
An objective for this presentation…
To be able to represent a description of a real-world situation as an ER Model. “What’s an ER model?”, you say… 5-2
What is modeling?
• Abstracting information about real world phenomenon and developing it into a model that contains essential features of the phenomenon • 3 categories of data modeling: – High-level data model (aka conceptual data model) e.g. ER – Implementation model e.g. Relational – Low-level data model – how data is physically stored use these in file organization or physical database design 5-3
The Data Model
• A
data model
is a plan, or blueprint, for a
database design
.
• A data model is more generalized and abstract than a database design.
• It is easier to change a data model than it is to change a database design, so it is the appropriate place to work through conceptual database problems.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-4
High-level model
• A collection of primitives that individually and through their relationships represent an acceptable abstraction of the universe of interest.
• E.g. data model for the college.
5-5
4 main concepts in high level modeling
1. Classification 2. Identification 3. Association a. Degree b. Cardinality 4. Generalization/Specialization 5-6
E-R Model
•
Entity-Relationship model
is a set of concepts and graphical symbols that can be used to create conceptual schemas.
• Versions – – – – –
Original E-R model
— Peter Chen (1976).
Extended E-R model
— Extensions to the Chen model.
Information Engineering (IE)
— James Martin (1990); it uses “crow’s foot” notation, is easier to understand and we will use it.
IDEF1X
— A national standard developed by the National Institute of Standards and Technology [see Appendix B]
Unified Modeling Language (UML)
— The Object Management Group; it supports object-oriented methodology [see Appendix C] DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-7
Entities
• Something that can be identified and the users want to track –
Entity class
given type — a collection of entities of a –
Entity instance
particular entity — the occurrence of a • There are usually many instances of an entity in an entity class.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-8
CUSTOMER: The Entity Class and Two Entity Instances DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-9
Attributes
•
Attributes
describe an entity’s characteristics.
• All entity instances of a given entity class have the same attributes, but vary in the values of those attributes.
• Originally shown in data models as
ellipses
.
• Data modeling products today commonly show attributes in
rectangular form
.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-10
EMPLOYEE: Attributes in Ellipses DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-11
EMPLOYEE: Attributes in Entity Rectangle DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-12
Identifiers
•
Identifiers
are attributes that name, or identify, entity instances.
• • The identifier of an entity instance consists of one or more of the entity’s attributes.
Composite identifiers
more attributes : Identifiers that consist of two or • Identifiers in data models become keys in database designs: – Entities have identifiers.
– Tables (or relations) have keys.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-13
Entity Attribute Display in Data Models DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-14
Relationships
• Entities can be associated with one another in
relationships
: –
Relationship classes
: associations among entity classes –
Relationship instances
: associations among entity instances • In the original E-R model, relationships could have attributes but today this is no longer done.
• A relationship class can involve two or more entity classes.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-15
Degree of the Relationship
• The
degree
of the relationship is the number of entity classes in the relationship: – One entity has a
unary relationship
of degree one. (rhs) – Two entities have a
binary relationship
two.
of degree – Three entities have a
ternary relationship
of degree three.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-16
Unary Relationship
Employee Supervises
5-17
Binary Relationship
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-18
Ternary Relationship
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-19
Entities and Tables
• The principle difference between an entity and a table (relation) is that you can express a relationship between entities without using foreign keys.
• This makes it easier to work with entities in the early design process where the very existence of entities and the relationships between them is uncertain.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-20
Cardinality
• • •
Cardinality
means “count,” and is expressed as a number.
Maximum cardinality
is the maximum number of entity instances that
can
participate in a relationship.
Minimum cardinality
is the minimum number of entity instances that
must
participate in a relationship.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-21
Maximum Cardinality
•
Maximum cardinality
is the maximum number of entity instances that
can
participate in a relationship.
• There are three types of maximum cardinality: – One-to-One [1:1] – One-to-Many [1:N] – Many-to-Many [N:M] DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-22
E1 E1 E1 Employee Student
The Three Types of Maximum Cardinality 1 to 1 1 to Many Many to Many 1 to 1 1 to Many
E2 E2 E2 Vehicle Dormitory
Many to Many
Employee Project
5-23
The Three Types of Maximum Cardinality (cont) DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-24
Parent and Child Entities
• In a one-to-many relationship: – The entity on the one side of the relationship is called the
parent entity
or just the
parent
.
– The entity on the many side of the relationship is called the
child entity
or just the
child
.
• In the figure below, EMPLOYEE is the parent and COMPUTER is the child: DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-25
HAS-A Relationships
• The relationships we have been discussing are known as
HAS-A relationships
: – Each entity instance
has a
relationship with another entity instance: • An EMPLOYEE
has one or more
COMPUTERs.
• A COMPUTER
has an
assigned EMPLOYEE.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-26
Minimum Cardinality
•
Minimum cardinality
entity instances that relationship.
is the minimum number of
must
participate in a • Minimums are generally stated as either zero or one: – IF
zero [0]
THEN participation in the relationship by the entity is
optional
, and
no
entity instance must participate in the relationship.
– IF
one [1]
THEN participation in the relationship by the entity is
mandatory
, and
at least one
entity instance must participate in the relationship.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-27
Indicating Minimum Cardinality
• As shown in the examples in a following slide: –
Minimum cardinality of zero [0]
indicating
optional
an
oval
participation is indicated by placing next to the optional entity.
–
Minimum cardinality of one [1] mandatory (required)
indicating participation is indicated by placing a
vertical hash mark
next to the required entity.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-28
Reading Minimum Cardinality
• Look toward the entity in question: – IF you see an
oval
THEN that entity is optional (minimum cardinality of zero [0]).
– IF you see a
vertical hash mark
THEN that entity is mandatory (required) (minimum cardinality of one [1]).
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-29
E1 E1 E1 Employee Student
The Three Types of Minimum Cardinality
E2 E2 E2 Vehicle Dormitory Employee Project
5-30
The Three Types of Minimum Cardinality (cont) DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-31
Data Modeling Notation
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-32
Data Modeling Notation: ERwin DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-33
Data Modeling Notation: N:M and O-M Note that: (1) ERwin cannot indicate true minimum cardinalities on N:M relationships (2) Visio introduces the intersection table instead of using a true N:M model DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-34
Weak Entities
(modified rhs) • A weak entity is an entity whose existence depends upon another entity.
• There are two types of weak entities – ID Dependent entity - entity whose identifier includes the identifier of the parent – Non – ID Dependent entity - The identifier of the parent does not appear in the identifier of the weak child entity.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-35
Weak Entities (Continued)
Employee A dashed line indicates a
nonidentifying relationship
Dependent Here the attributes of Employee may be EmployeeNum and Name while Attributes of Dependent may be SSNum, Name, and Kinship. This would Mean that any dependent can be uniquely identified without any information 5-36 From its parent, an instance of Employee.
ID-Dependent Entities
• An
ID-dependent entity
is an entity (child) whose identifier includes the identifier of another entity (parent).
• All ID-Dependent entities are considered weak.
• The ID-dependent entity is a logical extension or sub-unit of the parent: – BUILDING : APARTMENT – PAINTING : PRINT • The minimum cardinality from the ID-dependent entity to the parent is always one.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-37
A solid line indicates an
identifying relationship
ID-Dependent Entities
Typo: Should be PatientNumber DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-38
Subtype Entities
• A
subtype entity supertype entity
: is a special case of a – STUDENT : UNDERGRADUATE or GRADUATE • The supertype contains all common attributes, while the subtypes contain specific attributes.
• The supertype may have a
discriminator
attribute that indicates the subtype.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-39
Subtypes with a Discriminator
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-40
Subtypes: Exclusive or Inclusive (Disjoint/Overlapping)
• If subtypes are
exclusive
, one supertype relates to at most one subtype.
– This is also called disjoint. (rhs) • If subtypes are
inclusive
, one supertype can relate to one or more subtypes.
– This is also called overlapping (rhs) DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-41
Subtypes: Disjoint or Overlapping
Faculty
d
Roster Adjunct
5-42
Subtypes: Total / Partial
• If every instance of a parent class must be a member of a subclass total specialization • Otherwise, instance of parent class does not have to be a member of a subclass partial specialization 5-43
Subtypes: Total / Partial
Faculty
Two lines indicates Total Specialization (one line indicates Partial specialization) d
Roster djunct
5-44
Subtypes: IS-A relationships
• Relationships connecting supertypes and subtypes are called
IS-A relationships
, because a subtype IS A supertype.
• The identifer of the supertype and all of its subtypes must be identical, i.e., the identifier of the supertype becomes the identifier of the related subtype(s).
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-45
David M. Kroenke’s Database Processing Fundamentals, Design, and Implementation (10 th Edition)
End of Presentation: Chapter Five Part One
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-46
David M. Kroenke’s
Database Processing:
Fundamentals, Design, and Implementation
Chapter Five: Data Modeling with the Entity-Relationship Model Part Two
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-47
Strong Entity Patterns: 1:1 Strong Entity Relationships DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-48
Strong Entity Patterns: 1:1 Strong Entity Relationships DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-49
Strong Entity Patterns: 1:N Strong Entity Relationships DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-50
Strong Entity Patterns: 1:N Strong Entity Relationships DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-51
Strong Entity Patterns: N:M Strong Entity Relationships DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-52
Strong Entity Patterns: N:M Strong Entity Relationships DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-53
Strong Entity Patterns: N:M Strong Entity Relationships DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-54
ID-Dependent Relationships: The Association Pattern Note the Price column, which has been added.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-55
ID-Dependent Relationships: The Association Pattern DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-56
ID-Dependent Relationships: The Multivaled Attribute Pattern DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-57
ID-Dependent Relationships: The Multivaled Attribute Pattern DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-58
ID-Dependent Relationships: The Multivaled Attribute Pattern DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-59
ID-Dependent Relationships: The Multivaled Attribute Pattern DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-60
ID-Dependent Relationships: The Archtype/Instance Pattern • The
archtype/instance pattern
occurs when the ID-dependent child entity is the physical manisfestation (instance) of an abstract or logical parent: – PAINTING : PRINT – CLASS : SECTION – YACHT_DESIGN : YACHT – HOUSE_MODEL: HOUSE DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-61
ID-Dependent Relationships: The Archtype/Instance Pattern Note that these are true ID-dependent relationships - the identifier of the parent appears as part of the composite identifier of the ID dependent child.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-62
ID-Dependent Relationships: The Archtype/Instance Pattern Note the use of weak, but not ID dependent children.
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-63
David M. Kroenke’s Database Processing Fundamentals, Design, and Implementation (10 th Edition)
End of Presentation: Chapter Five Part Two
DAVID M. KROENKE’S DATABASE PROCESSING, 10th Edition © 2006 Pearson Prentice Hall 5-64