Objectives
- Define terms
- Understand use of supertype/subtype relationships
- Understand 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
Supertypes and Subtypes
- Enhanced ER model: extends original ER 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 of the supertype
- An instance of a subtype is also an instance of the supertype
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
Constraints in Supertype/ Completeness Constraint
- 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/ Disjointness constraint
- 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 Discriminators
- 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
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
- 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