Bài giảng Database systems - Enhanced entityrelationship model
Exercise 3 (2)
Attic keeps track of its clients through the assigning of client numbers. They also keep
track of clients’ names and addresses.
When Attic sells an item to a client, they need to keep track of the actual selling price, the
date of the sale, and the sales tax.
When Attic buys an item, they wish to track the purchase cost, condition at the time of
purchase, and the date.
61 trang |
Chia sẻ: vutrong32 | Lượt xem: 1850 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Database systems - Enhanced entityrelationship model, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
DATABASE SYSTEMS
Nguyen Ngoc Thien An
ENHANCED ENTITY-
RELATIONSHIP MODEL
Spring 2014
Contents
2
Introduction to EER Model
Subclasses & Superclasses
Specialization & Generalization
Constraints & Characteristics of
Specialization/Generalization
Categories
Design Choices & Example of Other Notation
Formal Definitions
Database Design Modeling Tools
Reading Suggestion: [1] Chapter 8
Introduction to EER Model (1)
3
Newer applications (CAD/CAM, GIS,) have
more complex requirements than traditional
applications.
EER Model = Enhanced-ER or Extended-ER
Model
Created to design more accurate database schemas.
Reflect the data properties and constraints more precisely.
Include more semantic data modeling concepts that
were incorporated into the ER model.
Satisfy more complex requirements.
Introduction to EER Model (2)
4
EER model includes all modeling concepts of
the ER model.
In addition, EER includes:
Subclasses and superclasses.
Specialization and generalization.
Category or union type.
Attribute and relationship inheritance.
EER diagrams
Diagrammatic technique for displaying these
concepts in an EER schema.
Contents
5
Introduction to EER Model
Subclasses & Superclasses
Specialization & Generalization
Constraints & Characteristics of
Specialization/Generalization
Categories
Design Choices & Example of Other Notation
Formal Definitions
Database Design Modeling Tools
Subclasses & Superclasses (1)
6
Secretary
Technician
Engineer
Salaried_Employee Hourly_Employee
Manager
EMPLOYEE
Subclasses & Superclasses (2)
7
Subtype or subclass of an entity type
Subgroupings of entities that are meaningful.
Represented explicitly because of their significance to the database
application.
E.g.: EMPLOYEE is grouped into SECRETARY, TECHNICIAN,
ENGINEER, MANAGER, SALARIED_EMPLOYEE,
HOURLY_EMPLOYEE,
Set of entities in each subgroup is a subset of the EMPLOYEE entity set.
Each is called a subclass of EMPLOYEE.
EMPLOYEE is the superclass for each of these subclasses.
Terms for relationship between a superclass and any one of its
subclasses
Superclass/subclass relationship.
Supertype/subtype relationship.
Class/subclass relationship.
Subclasses & Superclasses (3)
8
Subclasses & Superclasses (4)
9
A subclass member represents the same real-world entity as
some member of the superclass, but in a distinct specific role.
E.g.: A SECRETARY entity ‘Joan Logano’ is also the
EMPLOYEE ‘Joan Logano’.
A member of a subclass must be a member of the
superclass.
It is not necessary that every entity in a superclass is a
member of some subclass.
A member of a superclass can be optionally included as a
member of any number of its subclasses.
E.g.: A salaried employee who is also an engineer belongs to the
two subclasses ENGINEER and SALARIED_EMPLOYEE of the
EMPLOYEE entity type.
Subclasses & Superclasses (5)
10
A class/subclass relationship is often called an IS-A
(or IS-AN) relationship.
E.g.: A SECRETARY is an EMPLOYEE, a TECHNICIAN is
an EMPLOYEE.
Superclass/subclass relationship is one-to-one (1:1).
Type inheritance: Subclass entities inherit all
attributes and relationships of the superclass.
A subclass, with its own specific (or local) attributes
and relationships together with all the attributes and
relationships it inherits from the superclass, can be
considered an entity type in its own right.
Contents
11
Introduction to EER Model
Subclasses & Superclasses
Specialization & Generalization
Constraints & Characteristics of
Specialization/Generalization
Categories
Design Choices & Example of Other Notation
Formal Definitions
Database Design Modeling Tools
Specialization (1)
12
Specialization is a process of defining a set of subclasses of an
entity type which is called the superclass.
Defined on the basis of some distinguishing characteristic of the
entities in the superclass.
E.g.: {SECRETARY, ENGINEER, TECHNICIAN} is a specialization of
the superclass EMPLOYEE based on the job type.
May have several specializations of the same entity type based on
different distinguishing characteristics.
E.g.: Another specialization of EMPLOYEE based on the method of pay
is {SALARIED_EMPLOYEE, HOURLY_EMPLOYEE}.
Subclasses can define:
Specific attributes (local attributes).
E.g.: TypingSpeed of SECRETARY.
Specific relationship types.
E.g.: BELONGS_TO of HOURLY_EMPLOYE.
Specialization (2)
13
Specialization (3)
14
Generalization (1)
15
Generalization is the process of defining a
generalized entity type from several given entity types
having some common features.
The reverse process of specialization.
The generalized entity type is the superclass.
The original entity types become the subclasses.
E.g.: CAR, TRUCK are generalized into VEHICLE.
Both CAR, TRUCK become subclasses of the superclass
VEHICLE.
Can view {CAR, TRUCK} as a specialization of VEHICLE.
Can view VEHICLE as a generalization of CAR and
TRUCK.
Generalization (2)
16
Specialization & Generalization
17
Data modeling with specialization and generalization.
A superclass or subclass represents a set of entities.
Shown by rectangles in EER diagrams (like entity types).
All entity sets may be simply called classes, whether they are
entity types, superclasses, or subclasses.
A diagrammatic notation to distinguish between
generalization and specialization is used in some design
methodologies.
An arrow pointing to the generalized superclass represents a
generalization.
Arrows pointing to the specialized subclasses represent a
specialization.
We do NOT USE this notation because the decision as to which
process is followed in a particular situation is often subjective.
Contents
18
Introduction to EER Model
Subclasses & Superclasses
Specialization & Generalization
Constraints & Characteristics of
Specialization/Generalization
Categories
Design Choices & Example of Other Notation
Formal Definitions
Database Design Modeling Tools
Contents - Constraints &
Characteristics
19
Constraint for Membership
Disjointness Constraint
Completeness Constraint
Rules for Insertion & Deletion
Hierarchies & Lattices
Shared Subclasses
Refining Conceptual Schemas
Constraint for Membership (1)
20
A specialization/generalizaion may consist of one or several
subclasses.
Determine which subclasses an entity belongs to:
Predicate-defined (or condition-defined)
Attribute-defined
User-defined
Predicate-defined: Determine exactly the entities that will become
members of each subclass by a condition.
Such subclasses are called predicate-defined (or condition-defined)
subclasses.
The condition (called defining predicate) is a constraint that determines
subclass members.
Displayed by writing the predicate condition next to the line connecting
the subclass to the circle.
E.g.: The condition of membership in the SECRETARY subclass is
“Job_type = ‘Secretary’ ” (defining predicate of SECRETARY).
Constraint for Membership (2)
21
Attribute-defined: All subclasses in a specialization/generalization
have their membership conditions on the same attribute of the
superclass.
Attribute is called the defining attribute.
All entities with the same value for the attribute belong to the same
subclass.
Displayed by placing the defining attribute name next to the arc from the
circle to the superclass.
E.g.: JobType is the defining attribute of the specialization
{SECRETARY, TECHNICIAN, ENGINEER} of EMPLOYEE.
User-defined: No conditions determine the membership.
Membership in a subclass is determined by the database users by
applying an operation to add an entity to the subclass.
Membership in the subclass is specified individually for each entity in the
superclass by the user, not by any conditions that may be evaluated
automatically.
Constraint for Membership (3)
22
Disjointness Constraint
23
Disjointness constraint specifies whether
subclasses of a specialization/generalization must
be disjoint or not.
May be disjoint or overlapping
Disjoint
An entity can be a member of at most one of the
subclasses of the specialization/generalization.
Specified by d in EER diagrams.
Overlapping
The same entity may be a member of more than one
subclass of the specialization/generalization.
Specified by o in EER diagrams.
Completeness Constraint
24
Completeness (or Totalness) constraint
specifies whether every entity in a superclass
must be a member of at least one subclass in the
specialization/generalization or not.
May be total or partial
Total
Every entity in the superclass must be a member of at least
one subclass in the specialization/generalization.
Shown in EER diagrams by a double line.
Partial
Allows an entity not to belong to any of the subclasses.
Shown in EER diagrams by a single line.
Examples (1)
25
Example of
disjoint partial
specialization/
generalization
Examples (2)
26
Example of overlapping total specialization/generalization
Disjointness & Completeness
27
Disjointness and completeness constraints are
independent.
Have four types:
Disjoint, total
Disjoint, partial
Overlapping, total
Overlapping, partial
Generalization is usually total because the
superclass is derived from the subclasses.
Rules for Insertion & Deletion
28
Certain insertion and deletion rules apply to specialization
and generalization as a consequence of the specified
constraints.
Some of these rules are as follows:
Delete an entity from a superclass.
It is automatically deleted from all the subclasses to which it
belongs.
Insert an entity in a superclass.
The entity is mandatorily inserted in all predicate-defined (or
attribute-defined) subclasses for which the entity satisfies the
defining predicate.
Insert an entity in a superclass of a total
specialization/generalization.
The entity is mandatorily inserted in at least one of the
subclasses.
Hierarchies & Lattices
29
A subclass itself may have further subclasses specified on it,
forming a hierarchy or a lattice of
specialization/generalization.
Specialization/Generalization Hierarchy
Every subclass participates as a subclass in only one
class/subclass relationship every subclass has only one
superclass.
Results in a tree structure or strict hierarchy.
Single inheritance.
Specialization/Generalization Lattice
A subclass can be a subclass in more than one class/subclass
relationship.
Multiple inheritance.
In a lattice or hierarchy, a subclass inherits attributes and
relationships not only of its direct superclass(es), but also of
all its predecessor superclasses.
Shared Subclasses
30
Shared subclass: a subclass with more than one
superclass.
In multiple inheritance.
If an attribute (or relationship) originating in the
same superclass is inherited more than once via
different paths in the lattice.
It should be included only once in the shared
subclass.
Some models and languages are limited to single
inheritance and do not allow multiple inheritance.
Example
31
Refining Conceptual Schemas
32
Specialization process
Start with an entity type then define subclasses
by successive specialization.
Top-down conceptual refinement process.
Bottom-up conceptual synthesis
Involves generalization rather than specialization.
In practice, a combination of the two
processes is employed.
Contents
33
Introduction to EER Model
Subclasses & Superclasses
Specialization & Generalization
Constraints & Characteristics of
Specialization/Generalization
Categories
Design Choices & Example of Other Notation
Formal Definitions
Database Design Modeling Tools
Categories (1)
34
Union type or Category
Represents a single superclass/subclass relationship with
more than one superclass, where the superclasses
represent different entity types.
The subclass represents a collection of objects that is a
subset of the UNION of distinct entity types.
Call such a subclass a union type or a category.
E.g.: A vehicle owner can be a person, a bank (holding a
lien on a vehicle) or a company.
Category (subclass) OWNER is a subset of the union of the
three superclasses COMPANY, BANK, and PERSON .
Some modeling methodologies do not have union
types.
Categories (2)
35
Two categories (union
types): OWNER and
REGISTERED_VEHICLE
Categories (3)
36
A category can be total or partial
Total
Hold the union of all entities in its superclasses.
Represented diagrammatically by a double line connecting the
category and the circle.
Partial
Can hold a subset of the union.
Represented diagrammatically by a single line connecting the
category and the circle.
The superclasses of a category may have different
key attributes or the same key attribute.
E.g.:
Different key attributes: OWNER category.
The same key attribute: REGISTERED_VEHICLE category.
Category vs. Shared Subclass (1)
37
Category vs. Shared Subclass (2)
38
Category
A category is the
subclass in one single
relationship.
This relationship has
more than one
superclass representing
different entity types.
Shared
Subclass
A shared subclass is the
subclass in more than
one distinct relationship
(multiple inheritance).
Each of these
relationships has a
single superclass.
Category vs. Shared Subclass (3)
39
Category
A member entity of a category
must exist in only one of its
superclasses (OR).
• E.g.: An OWNER may be a
COMPANY, a BANK, or a PERSON.
A category is a subset of the
union of its superclasses.
• E.g.: OWNER is a subset of the union
of the three superclasses.
Shared
Subclass
An member entity of a shared
subclass must exist in all its
superclasses (AND).
• E.g.: An engineering manager must
be an ENGINEER, a MANAGER, and
a SALARIED_EMPLOYEE.
A shared subclass is a subset
of the intersection of its
superclasses.
• E.g.: ENGINEERING_MANAGER is a
subset of the intersection of the three
superclasses.
Category vs. Shared Subclass (4)
40
Category
A member of a category
inherits attributes and
relationships of only one of
its superclasses
Inheritance works more
selectively in the case of
categories.
• E.g.: Each OWNER entity inherits
the attributes of a COMPANY, a
PERSON, or a BANK, depending
on the superclass to which the
entity belongs.
Shared
Subclass
A member of a shared
subclass inherits all the
attributes and relationships
of all its superclasses.
• E.g.: ENGINEERING_MANAGER
inherits all the attributes of its
superclasses
SALARIED_EMPLOYEE,
ENGINEER, and MANAGER.
Specialization/Generalization vs.
Union Type (1)
41
Specialization/Generalization vs.
Union Type (2)
42
Category
REGISTERED_VEHICLE
REGISTERED_VEHICLE category
includes some cars and some
trucks but not necessarily all of
them
• E.g.: some cars or trucks may not be
registered.
A category such as
REGISTERED_VEHICLE implies
that only cars and trucks, but not
other types of entities, can be
members of
REGISTERED_VEHICLE.
Superclass VEHICLE
Every car and every truck is a
VEHICLE.
If the specialization of VEHICLE
were partial, it would not preclude
VEHICLE from containing other
types of entities, such as
motorcycles.
UNIVERSITY Database Example
43
The UNIVERSITY Database Example
UNIVERSITY database
Students and their majors.
Transcripts and registration.
University’s course offerings.
Details: Read [1] 8.5.1
44
Contents
45
Introduction to EER Model
Subclasses & Superclasses
Specialization & Generalization
Constraints & Characteristics of
Specialization/Generalization
Categories
Design Choices & Example of Other Notation
Formal Definitions
Database Design Modeling Tools
Design Choices (1)
46
Many specializations and subclasses can be defined
to make the conceptual model accurate.
Represent only those subclasses that are deemed
necessary to avoid extreme cluttering.
If all the subclasses of a specialization/generalization
have few specific attributes and no specific
relationships:
Can be merged into the superclass.
Replace with one or more type attributes that specify the
subclass or subclasses that each entity belongs to.
Choice of disjoint/overlapping and total/partial
constraints is driven by rules in miniworld being
modeled.
Design Choices (2)
47
Union types and categories should generally be
avoided unless the situation definitely warrants
this type of construct.
If a category is total (not partial), it may be
represented alternatively as a total
specialization/generalization.
If the two classes represent the same type of entities
and share numerous attributes, including the same
key attributes, specialization/generalization is pre-
ferred. Otherwise, categorization (union type) is more
appropriate.
Example of Other Notation
Contents
49
Introduction to EER Model
Subclasses & Superclasses
Specialization & Generalization
Constraints & Characteristics of
Specialization/Generalization
Categories
Design Choices & Example of Other Notation
Formal Definitions
Database Design Modeling Tools
Formal Definitions (1)
50
Class C
Set or collection of entities.
Includes any of the EER schema constructs of group entities.
Can be entity type, subclass, superclass, or category.
Note: The definition of relationship type in ER/EER should have
‘entity type’ replaced with ‘class’ to allow relationships among
classes in general.
Subclass S of class C
Inherits all the attributes and relationships of the class C.
Set of entities must always be a subset of the set of entities of
the class C: 𝑆 ⊆ 𝐶
C is called the superclass of S.
A superclass/subclass relationship exists between S and C.
Formal Definitions (2)
51
Specialization Z and Generalization G
𝑍 = 𝑆1, 𝑆2, , 𝑆𝑛 : a set of subclasses with the same
superclass G.
𝐺/𝑆𝑖 is a superclass/subclass relationship for i = 1,,n.
G is called a generalized entity type, or the superclass of
the specialization, or a generalization of 𝑆1, 𝑆2, , 𝑆𝑛 .
Totalness (Completeness)
Total: 𝑆1 ∪ 𝑆2 ∪ ⋯ ∪ 𝑆𝑛 = 𝐺
Partial: otherwise
Disjointness
Disjoint: 𝑆𝑖 ∩ 𝑆𝑗 = ∅ 𝑓𝑜𝑟 𝑖 ≠ 𝑗
Overlapping: otherwise
Formal Definitions (3)
52
Subclass S of C is predicate defined if predicate
(condition) p on attributes of C is used to specify
membership in S.
S = C[p], where C[p] is the set of entities in C that satisfy
condition p.
A subclass not defined by a predicate is called user-
defined.
Attribute-defined: a predicate 𝐴 = 𝑐𝑖 (where A is an
attribute of G and 𝑐𝑖 is a constant value from the
domain of A) is used to specify membership in each
subclass 𝑆𝑖 in Z.
If 𝑐𝑖 ≠ 𝑐𝑗 𝑓𝑜𝑟 𝑖 ≠ 𝑗 and A is single-valued, then the attribute-
defined specialization/generalization will be disjoint.
Formal Definitions (4)
53
Category or Union Type T
A class that is a subset of the union of n defining
superclasses 𝐷1, 𝐷2, , 𝐷𝑛 with n>1.
𝑇 ⊆ (𝐷1 ∪ 𝐷2 ∪ ⋯ ∪ 𝐷𝑛).
Can have a predicate 𝑝𝑖 on the attributes of 𝐷𝑖 to
specify entities of 𝐷𝑖 that are members of T.
If a predicate is specified on every 𝐷𝑖 :
𝑇 = (𝐷1[𝑝1] ∪ 𝐷2[𝑝2] ∪ ⋯ ∪ 𝐷𝑛[𝑝𝑛]).
Relationship Type
Any class can participate in a relationship.
Contents
54
Introduction to EER Model
Subclasses & Superclasses
Specialization & Generalization
Constraints & Characteristics of
Specialization/Generalization
Categories
Design Choices & Example of Other Notation
Formal Definitions
Database Design Modeling Tools
Database Design Modeling Tools
55
COMPANY TOOL FUNCTIONALITY
Embarcadero
Technologies
ER Studio Database Modeling in ER and IDEF1X
DB Artisan Database administration and space and
security management
Oracle Developer 2000 and Designer 2000 Database modeling, application development
Popkin Software System Architect 2001 Data modeling, object modeling, process
modeling, structured analysis/design
Platinum Technology
(Computer Associates)
Platinum Enterprice Modeling Suite:
Erwin, BPWin, Paradigm Plus
Data, process, and business component
modeling
Persistence Inc. Pwertier Mapping from O-O to relational model
Rational (IBM) 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 (Microsoft) Visio Enterprise Data modeling, design and reengineering
Visual Basic and Visual C++
Q & A
56
Exercise 1: University Database
57
Modify the UNIVERSITY diagram by classifying
MODULES as either UNDERGRAD_MODULES
or GRAD_MODULES and LECTURERS as either
JUNIOR_PROFESSORS or
SENIOR_PROFESSORS.
Include appropriate attributes for these new entity
types.
Establish relationships indicating that junior
lecturers teach undergraduate modules while
senior lecturers teach graduate modules.
Exercise 2 (1)
58
A non-profit organization depends on a number of
different types of persons for its successful operation.
The organization is interested in the following
attributes for all of these persons: Social Security
Number, Name, Address, City, State and Telephone.
Three types of persons are of interest: employees,
volunteers and donors.
Employees have only a Date_Hired attribute
Volunteers have only a Skill attribute.
Donors have a relationship (named Donates) with an Item.
A donor must have donated one or more Items, and an
Item can only be donated by one donor.
Exercise 2 (2)
59
Attributes of item includes an identity and a
description.
There are persons other than employees,
volunteers and donors who are of interest to
the organization, so a person does not have to
belong to one of these groups.
A person may also belong to one or more of
these groups, at any one time.
Exercise 3 (1)
60
Attic Antiques buys and sells one-of-a-kind
antiques of all kinds (e.g. furniture, china,
clothing, etc.).
Each item is uniquely identified by a serial
number, and is also characterized by asking
price and condition.
Attic works with several individuals who sell
and buy items from the store. Some clients
only sell items to Attic, others only buy items,
and some both buy and sell.
Exercise 3 (2)
61
Attic keeps track of its clients through the
assigning of client numbers. They also keep
track of clients’ names and addresses.
When Attic sells an item to a client, they need
to keep track of the actual selling price, the
date of the sale, and the sales tax.
When Attic buys an item, they wish to track the
purchase cost, condition at the time of
purchase, and the date.
Các file đính kèm theo tài liệu này:
- 3_enhanced_entity_relationship_model_8182.pdf