In a supertype/subtype hierarchy, where should attributes be assigned to maximize reuse and proper inheritance?

Difficulty: Easy

Correct Answer: Attributes are assigned at the highest logical level.

Explanation:

Introduction / Context:Supertype/subtype modeling avoids duplication by placing shared characteristics at common ancestors. Correct placement improves integrity and reduces redundancy.

Given Data / Assumptions:

  • Supertypes hold attributes common to all subtypes.
  • Subtypes add only attributes unique to their specialization.

Concept / Approach:Assign attributes as high as possible in the hierarchy (the lowest common ancestor) so all relevant subtypes inherit them. Unique attributes stay with the specific subtype that requires them.

Step-by-Step Solution:

Identify common versus specialized attributes.Place common ones in the supertype → maximize reuse.Place unique ones in the subtype → preserve specificity.

Verification / Alternative check:Normalization and inheritance principles both recommend elevating shared properties to the highest logical level.

Why Other Options Are Wrong:Assigning low: Duplicates data across subtypes. Higher levels inheriting from subtypes: Reverses inheritance. Immediate-only rule: Misstates how general attributes propagate.

Common Pitfalls:Copying the same attribute into multiple subtypes instead of using the supertype.

Final Answer:Attributes are assigned at the highest logical level.

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion