Chapter 3: The Enhanced E-R Model Modern Database Management 11th Edition, International Edition Jeffrey A. Hoffer, V. Ramesh, Heikki Topi © 2013 Pearson Education
Objectives Define terms Understand the use of supertype/subtype relationships Understand the use of specialization and generalization techniques Specify completeness and disjointness constraints Develop supertype/subtype hierarchies for realistic business situations Develop entity clusters Explain universal (packaged) data model Describe special features of data modeling project using packaged data model
Supertype/Subtype Relationships Enable us to model a general entity type (called supertype) and then subdivide it into several specialized entity types (called subtypes) A new modeling construct for extending the original ER model. The extended result model is the Enhanced (加 強的) ER Model Example 1: Supertype : Car Subtypes : sedan, sports car, coupe, and so on. Example 2: Supertype : Vechicle Subtypes : Car, Motorcycle, Bike, Ship, and so on.
Supertypes and Subtypes A subgrouping of the entities in an entity type that has attributes distinct from those in other subgroupings Supertype (超類別、父類別) A generic entity type that has a relationship with one or more subtypes Example Supertype : Student Subtypes : Undergraduate student, Graduate students Attribute Inheritance An instance of a subtype is also an instance of the supertype A subtype entity inherit all attributes of the supertype
Figure 3-1 Basic notation for supertype/subtype notation a) EER notation (通用化的) (特化的) © 2013 Pearson Education Chapter 3 5
Figure 3-1 Basic notation for supertype/subtype notation (cont.) b) Microsoft Visio Notation Different modeling tools may have different notation for the same modeling constructs. © 2013 Pearson Education Chapter 3 6
Data Modeling with many subtypes Case : An organization with three basic types of employees Hourly employees Salaried employees Contract employees Choices for developing a conceptual data model Define a single entity type Advantage : simple Disadvantage : an entity instance contain all the attributes for the three types of employees. Some of the attributes are null. Define a separate entity type for each of the entities Disadvantage : fails to exploit common properties of employees. Define a supertype with three subtypes Attributes of three basic types
Figure 3-2 Employee supertype with three subtypes (An example of data model with many subtypes) All EMPLOYEE subtypes will have employee number, name, address, and date hired Each EMPLOYEE subtype will also have its own attributes © 2013 Pearson Education Chapter 3 8
Relationships and Subtypes Relationship at the supertype level indicate that all subtypes will participate in the relationship Relationship at the subtype level The instances of a subtype may participate in a relationship unique to that subtype.
Figure 3-3 Supertype/subtype relationships in a hospital relationship at supertype level relationship at subtype level (門診病患,院外病患) © 2013 Pearson Education Chapter 3 10
Generalization and Specialization The process of defining a more general entity type from a set of more specialized entity types. (BOTTOM-UP process for creating a supertype/subtype relationship) The common attributes are put in the supertype. Specialization (特用化) The process of defining one or more subtypes from the supertype and forming supertype/subtype relationship. (TOP-DOWN process for creating a supertype/subtype relationship) Each subtype is formed with some distinguished attributes.
Figure 3-4 Example of generalization process a) Three entity types: CAR, TRUCK, and MOTORCYCLE What are the common attributes for all these types of vehicles ? What is the supertype/subtype relationship ? © 2013 Pearson Education Chapter 3 12
Figure 3-4 Example of generalization process b) Generalization to VEHICLE supertype So we put the shared attributes in a supertype Note No subtype for motorcycle, since it has no unique attributes The only attributes of MOTOTCYCLE are those common to all vehicles © 2013 Pearson Education Chapter 3 13
Figure 3-5 Example of specialization process a) Entity type PART Only applies to manufactured parts Applies only to purchased parts (a multivalued composite attribute) What are the attributes specific to each of subtypes? What is the supertype/subtype relationship ? © 2013 Pearson Education Chapter 3 14
Figure 3-5 Example of specialization process b) Specialization to MANUFACTURED PART and PURCHASED PART Created 2 subtypes Note : the multivalued composite attribute was replaced by an associative entity relationship to another entity © 2013 Pearson Education Chapter 3 15
Constraints in Supertype/SUBTYPE RELATIONSHIPS Completeness Constraints (完全性限制) Whether an instance of a supertype must also be a member of at least one subtype Total Specialization Rule: Yes (double line) Each entity instance of the supertype must be a member of some subtype in the relationship. Partial Specialization Rule: No (single line) An entity instance of the supertype is allowed not to belong to any subtype.
Figure 3-6 Examples of completeness constraints a) Total specialization rule © 2013 Pearson Education Chapter 3 17
Figure 3-6 Examples of completeness constraints (cont.) b) Partial specialization rule A vehicle can be a motorcycle © 2013 Pearson Education Chapter 3 18
Constraints in Supertype/SUBTYPE RELATIONSHIPS Disjointness Constraints (無重疊性限制) Whether an instance of a supertype may simultaneously be a member of two (or more) subtypes Disjoint Rule: An instance of the supertype can be only a member of ONE of the subtypes Overlap Rule: An instance of the supertype could be a member of more than one of the subtypes © 2013 Pearson Education Chapter 3 19
Figure 3-7 Examples of disjointness constraints a) Disjoint rule PATIENT OUTPATIENT RESIDENCE © 2013 Pearson Education Chapter 3 20
When does this situation happen ? Figure 3-7 Examples of disjointness constraints (cont.) b) Overlap rule PART M PART P PART PART M PART P PART When does this situation happen ? © 2013 Pearson Education Chapter 3 21
Constraints in Supertype/SUBTYPE RELATIONSHIPS Subtype Discriminator (區別屬性) An attribute of the supertype whose values determine the target subtype(s) For disjoint subtypes a simple attribute with different values to indicate the possible subtypes For overlapping subtypes a composite attribute whose subparts pertain to different subtypes. Each subpart contains a Boolean value to indicate whether or not the instance belongs to the associated subtype © 2013 Pearson Education Chapter 3 22
Figure 3-8 Introducing a subtype discriminator (disjoint rule) © 2013 Pearson Education Chapter 3 23
Figure 3-9 Subtype discriminator (overlap rule) 1. Three cases: Y, Y Y, N N, Y 2. Why 3 cases? © 2013 Pearson Education Chapter 3 24
Figure 3-10 Example of supertype/subtype hierarchy Case 3 Case 2 Case 1 What is the situation for each case? completeness constraint disjointness constraint subtype discriminator design © 2013 Pearson Education Chapter 3 25
Entity Clusters EER diagrams are difficult to read when there are too many entities and relationships. Solution: Group entities and relationships into entity clusters. Entity cluster A set of one or more entity types and associated relationships grouped into a single abstract (virtual) entity type
Figure 3-13a Possible entity clusters for Pine Valley Furniture in Microsoft Visio Related groups of entities could become entity clusters
Figure 3-13b EER diagram of entity clusters for Pine Valley Furniture More readable, isn’t it? © 2013 Pearson Education Chapter 3 28
Figure 3-14 Manufacturing entity cluster Detail for a single cluster © 2013 Pearson Education Chapter 3 29
Packaged Data Models Predefined data models Can be customized for a particular organization’s business rules Could be universal or industry-specific Universal (通用的) data model (also called a “pattern”) A generic or template data model that can be reused as a starting point for a data modeling project
Advantages of Packaged Data Models Use proven model components Save time and cost Less likelihood of data model errors Easier to evolve and modify over time Aid in requirements determination Easier to read Supertype/subtype hierarchies promote reuse Many-to-many relationships enhance model flexibility Vendor-supplied data model fosters integration with vendor’s applications Universal models support inter-organizational systems
Figure 3-15 PARTY, PARTY ROLE, and ROLE TYPE in a universal data model PARTY (参與方) generalize persons or organizations as actors for the enterprise ROLE TYPE allows a specific party to serve in different roles during different time periods. PARTY ROLE generalizes various roles parties can play at different times A PARTY ROLE instance is a situation in which a PARTY acts in a particular ROLE TYPE. (a) Basic PARTY universal data model © 2013 Pearson Education Chapter 3 32
Figure 3-15 (b) PARTY supertype/subtype hierarchy One PARTY supertype with many subtypes covering many party roles © 2013 Pearson Education Chapter 3 33
作業 下一週第一堂上課時交 作業#1 第三章 Problems and Exercises (177~180頁) 學號單號: 3 : a, c 8 : a, c 14 學號雙號: 3 : b, d 8 : b, d
Copyright © 2013 Pearson Education 35