Difficulty: Easy
Correct Answer: Correct
Explanation:
Introduction / Context: In EER and UML modeling, specialization can be disjoint (an instance belongs to at most one subtype) or overlapping (an instance may belong to multiple subtypes). A subtype discriminator (also called a type attribute) is a mechanism to indicate to which subtype(s) a supertype instance belongs. This question asks whether overlapping vs. disjoint changes how the discriminator is applied.
Given Data / Assumptions:
Concept / Approach: For disjoint specializations, a single-valued discriminator (for example, type = {Retail, Corporate}) is sufficient. For overlapping specializations, a single code cannot represent multiple memberships; typical approaches use multi-valued flags (for example, isStudent, isEmployee) or separate intersection/association tables to record many-to-many subtype memberships. Thus, the approach to discriminating subtype membership indeed differs between overlapping and disjoint cases.
Step-by-Step Solution:
Identify specialization constraint: disjoint or overlapping.If disjoint, model a single enumerated discriminator attribute in the supertype or enforce exclusivity via constraints.If overlapping, use multiple boolean indicators, sets, or linking tables to allow multiple concurrent subtype memberships.Implement integrity rules to keep memberships consistent with business logic.Verification / Alternative check: Try mapping to relational tables: disjoint often maps to one foreign key or a single code; overlapping usually requires a bridge table or multiple flags, confirming different discriminator strategies.
Why Other Options Are Wrong:
Common Pitfalls: Forcing a single code in overlapping scenarios; failing to enforce exclusivity in disjoint scenarios; mixing disjointness with total/partial specialization.
Final Answer: Correct
Discussion & Comments