Generalization vs. specialization: Is generalization the process of defining a more general supertype from a set of more specialized subtypes?
-
ACorrect
-
BIncorrect
-
CCorrect only in UML, not ER
-
DCorrect only when subtypes are total
Answer
Correct Answer: Correct
Explanation
Introduction / Context:Two complementary modeling operations exist: generalization and specialization. Specialization starts with a general entity and creates subtypes; generalization starts with several specific entities and abstracts a common supertype. Distinguishing these is central to flexible data modeling.
Given Data / Assumptions:
- Multiple specific entity types share common attributes or keys.
- The modeler wants to factor out the commonalities.
- We are describing conceptual operations, not tied to a specific tool.
Concept / Approach:Generalization identifies shared identity and attributes across distinct but related entities and defines a new supertype to capture those shared properties. For instance, Patient and Physician may be generalized to Person to hold name, birth_date, and address. The original entities become subtypes that add unique attributes (license_number for Physician, insurance_id for Patient).
Step-by-Step Solution:
Analyze existing entities to find common keys and attributes.Extract these into a new supertype with a single, unifying identifier.Refactor the original entities as subtypes that inherit from the supertype.Define disjoint/overlapping and total/partial participation rules as needed.Verification / Alternative check:After generalization, queries for common attributes occur against the supertype; subtype-specific queries still work but benefit from shared identity and reduced redundancy.
Why Other Options Are Wrong:
- “Incorrect” contradicts standard terminology.
- Restricting to UML or to total participation is unnecessary; the concept exists in ER/EE-R and does not depend on coverage.
Common Pitfalls:Overgeneralizing unrelated entities, which can produce artificial supertypes and complicate constraints. Always validate generalization with real business semantics.
Final Answer:Correct