380 likes | 727 Views
4-2. database applications. traditional database processing applications in business and industrynewer applicationsCAD/CAMtelecommunicationsimages and graphicsmultimediadata miningdata warehousingGISdatabases for indexing the World Wide Web.... 4-3. Enhanced ER (EER) model. modeling concepts of the ER modelsubclass and superclass (type inheritance)specialization and generalization (constraints)category (UNION)attribute and relationship inheritanceUNIVERSITY database in EER model35654
E N D
1. 4-1 Chapter 4 Enhanced Entity-Relationship and Object Modeling
2. 4-2 database applications traditional
database processing applications in business and industry
newer applications
CAD/CAM
telecommunications
images and graphics
multimedia
data mining
data warehousing
GIS
databases for indexing the World Wide Web
...
3. 4-3 Enhanced ER (EER) model modeling concepts of the ER model
subclass and superclass (type inheritance)
specialization and generalization (constraints)
category (UNION)
attribute and relationship inheritance
UNIVERSITY database in EER model
4. 4-4 subclass entity type (a type of entity)
e.g., EMPLOYEE
entity set (collection of entities of that type)
e.g., current set of EMPLOYEE entities
subclass (vs superclass)
e.g., SECRETARY, ENGINEER, TECHNICIAN, MANAGER, SALARIED_EMPLOYEE, HOURLY_EMPLOYEE
class/subclass relationship
e.g., EMPLOYEE/SECRETARY
5. 4-5 subclass (continued) Implementation
A member entity of the subclass represents the same real-world entity as some member of the superclass the same entity but in specific role
A distinct record that is related via the key attribute to its superclass entity
type inheritance Besides specific (or local) attributes and relationships,
An entity that is a member of a subclass inherits all the attributes of the entity as a member of the superclass
The entity also inherits all the relationships in which the superclass participates
6. 4-6 Specialization and Generalization specialization
define a set of subclasses of an entity type
{SECRETARY, ENGINEER, TECHNICIAN} is a specialization of EMPLOYEE by job type
{SALARIED_EMPLOYEE, HOURLY_EMPLOYEE} is a specialization of EMPLOYEE by method of pay
notation in EER diagram
7. 4-7
8. 4-8
9. 4-9 Why including class/subclass relationships? Certain attributes may apply to some but not all entities of the superclass
SECRETARY (attribute TypingSpeed)
ENGINEER (attribute EngineerType)
Some relationship types may be participated in only by entities that are members of the subclass
HOURLY_EMPLOYEE belongs to a trade union
10. 4-10 Specialization process Define a set of subclasses of an entity type
Establish additional specific attributes with each class
Establish additional specific relationship types between subclass and other entity types or other subclasses
11. 4-11 Generalization Define a generalized entity type from the given entity types
{CAR, TRUCK} as a specialization of VEHICLE
VEHICLE as a generalization of CAR and TRUCK
12. 4-12
13. 4-13 Constraints onSpecialization and Generalization single subclass only
{MANAGER} specification
predicate-defined subclasses
determined by a condition
(JobType = Secretary) <--- defining predicate
attribute-defined specialization (see Figure 4.4 at 4-14)
membership condition on the same attribute of the superclass (defining attribute)
user-defined subclass
determined by the database users
{HOURLY_EMPLOYEE, SALARIED_EMPLOYEE}
14. 4-14
15. 4-15 Constraints (continued) disjointness constraint
an entity can be a member of at most one of the subclasses of the specialization
attribute-defined specialization --> defining attribute is singled-valued
d : disjoint for attribute/user-defined subclass
o : an entity may be a member of more than one subclass of a specialization
16. 4-16
17. 4-17 Constraints (continued) completeness constraint (4-7)
total specialization constraint
every entity in the superclass must be a member of some subclass in the specialization
e.g., {HOURLY_EMPLOYEE, SALARIED_EMPLOYEE}
notation: superclass
partial specialization constraint
an entity may not belong to any of the subclasses
e.g., {SECRETARY, ENGINEER, TECHNICIAN}
18. 4-18 Constraints (continued) disjointness and completeness constraints are independent
Disjoint, total
Disjoint, partial
Overlapping, total
Overlapping, partial
a superclass identified through generalization process usually is total
19. 4-19 Some insertion/deletion rules for specialization/generalization Deleting an entity from a superclass
it is automatically deleted from all the subclasses to which it belongs
Inserting an entity in a superclass
it is mandatorily inserted in all predicate-defined (or attribute-defined) subclasses for which it satisfies the defining predicate
Inserting an entity in a superclass of a total specialization
it is mandatorily inserted in at lease one of subclasses
20. 4-20 Specialization/Generalization Hierarchies and Lattices A subclass itself may have further subclasses specified on it.
Specialization hierarchy
every subclass participates as a subclass in only one class/subclass relationship
Specialization lattice
a subclass can be a subclass in more than one class/subclass relationship
21. 4-21
22. 4-22
23. 4-23 Specialization/Generalizationin Conceptual Data Modeling top-down conceptual refinement process
a specialization process
bottom-up conceptual synthesis
a generalization process
combination
24. 4-24 union type (or category) a single superclass vs. more than one superclass
ENGINEERING_MANAGER is a subclass in three distinct superclass/subclass relationship (4-21)
Each has single superclass
union type or category
model a single superclass/subclass relationship with more than one superclass
the subclass represents a collection of objects that is (a subset of) the UNION of distinct entity types
e.g., OWNER is a subclass of the UNION of (COMPANY, BANK, PERSON)
25. 4-25
26. 4-26 category vs. shared subclass intersection
shared subclass (Fig. 4.6, 4-21)
ENGINEERING_MANAGER is a subset of the intersection of ENGINEER, MANAGER, and SALARIED_EMPLOYEE
an engineering manager must be an ENGINEER, a MANAGER, and a SALARIED_EMPLOYEE
ENGINEERING_MANAGER inherits all the attributes of its superclasses
union
category (Fig. 4.8, 4-25)
OWNER is a subset of the union of COMPANY, a BANK, or a person
an OWNER may be a COMPANY, a BANK, or a PERSON
an OWNER entity inherits the attributes depending on the superclass to which the entity belongs
27. 4-27
28. 4-28 An Example UNIVERSITYEER Schema
29. 4-29
30. 4-30 Formal Definitions class
a set or collection of entities, including any of the EER schema constructs that group entities such as entity types, subclasses, superclasses, and categories
subclass S
a class whose entities must always be a subset of the entities in another class C (superclass) of the superclass/subclass relationship C/S
S ? C
31. 4-31 Formal Definitions(continued) specialization Z = {S1, S2,
, Sn)
a set of subclasses that have the same superclass G
G/Si is a superclass/subclass relationship
generalization
total partial (otherwise)
disjoint overlapping (otherwise)
predicate-defined user-defined (otherwise)
a predicate p on the attributes of G is used to specify which entries in G are members of S
32. 4-32 Formal Definitions(continued) specialization Z (generalization G) is attribute-defined
a predicate (A=ci) is used to specify membership in each subclass Si in Z
category T
a class that is a subset of the union of n defining superclasses D1, D2,
, Dn
T ? (D1 ? D2 ?
? Dn)
relationship type: allow class to participate in a relationship
33. 4-33 Conceptual Object Modeling Using UML Class Diagrams UML - Universal Modeling Language
OMT - Object Modeling Technique
34. 4-33.1 4-34
35. 4-33.2 4-35
36. 4-34 4-36 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
37. 4-35 4-37
38. 4-36 4-38