Learning Objectives 3.1 Define terms 3.2 Understand use of supertype/subtype relationships 3.3 Use specialization and generalization techniques 3.4 Specify completeness and disjointness constraints 3.5 Develop supertype/subtype hierarchies for business situations 3.6 Develop entity clusters 3.7 Explain universal (packaged) data model 3.8 Describe special features of data modeling project using packaged data model
Supertypes and Subtypes • Enhanced E-R (EER) model: extends original E-R model with new modeling constructs • Subtype: 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 • Attribute Inheritance: – Subtype entities inherit values of all attributes and relationships of the supertype – An instance of a subtype is also an instance of the supertype
Figure 3-2 Employee Supertype with Three Subtypes All employee subtypes will have employee number, name, address, and date hired Each employee subtype will also have its own attributes
Relationships and Subtypes • Relationships at the supertype level indicate that all subtypes will participate in the relationship • The instances of a subtype may participate in a relationship unique to that subtype. In this situation, the relationship is shown at the subtype level
Generalization and Specialization • Generalization: The process of defining a more general entity type from a set of more specialized entity types. BOTTOM-UP • Specialization: The process of defining one or more subtypes of the supertype and forming supertype/subtype relationships. TOP-DOWN
Figure 3-4 Example of Generalization (2 of 2) b) Generalization to VEHICLE supertype We put the shared attributes in a supertype. Note: no subtype for motorcycle, since it has no unique attributes
Figure 3-5 Example of Specialization (1 of 2) a) Entity type PART Note: Routing Number only applies if part is manufactured in house. Supplier only applies if part is purchased from a supplier.
Figure 3-5 Example of Specialization (2 of 2) b) Specialization to MANUFACTURED PART and PURCHASED PART Multivalued composite attribute replaced by associative entity relationship to another entity
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) – Partial Specialization Rule: No (single line)
Constraints in Supertype/Subtype Relationships (1 of 2) • 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 ONE of the subtypes – Overlap Rule: An instance of the supertype could be more than one of the subtypes
Constraints in Supertype/Subtype Relationships (2 of 2) • Subtype Discriminator: An attribute of the supertype whose values determine the target subtype(s) – Disjoint – a simple attribute with alternative values to indicate the possible subtypes – Overlapping – 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
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: Set of one or more entity types and associated relationships grouped into a single abstract entity type
Figure 3-13 Entity Clustering for Pine Valley Furniture Company (1 of 2) a) Possible entity clusters (using Microsoft Visio) Related groups of entities could become clusters
Figure 3-13 Entity Clustering for Pine Valley Furniture Company (2 of 2) b) EER diagram for entity clusters (using Microsoft Visio) More readable, isn’t it?
Packaged Data Models • Predefined data models • Could be universal or industry-specific • Universal data model = a generic or template data model that can be reused as a starting point for a data modeling project (also called a “pattern”)
Advantages of Packaged Data Models (1 of 2) • 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
Advantages of Packaged Data Models (2 of 2) • Many-to-many relationships enhance model flexibility • Vendor-supplied data model fosters integration with vendor’s applications • Universal models support interorganizational systems