Difficulty: Easy
Correct Answer: Common attributes are assigned at the highest appropriate logical level in the hierarchy, usually in the supertype
Explanation:
Introduction / Context:
This question addresses the design of supertype and subtype hierarchies in entity relationship modeling and conceptual database design. A supertype represents a generic entity, while subtypes represent more specialized versions of that entity. Proper placement of attributes within this hierarchy is essential to avoid redundancy and ensure clarity. The key principle is that attributes shared by all subtypes should be placed at the supertype level, while attributes unique to specific subtypes should be placed at the corresponding subtype level.
Given Data / Assumptions:
Concept / Approach:
In a supertype subtype hierarchy, inheritance is the central idea. Every subtype inherits the attributes of its supertype, and this inheritance may cascade through multiple levels. To avoid redundancy, designers place attributes that are common to all subtypes at the highest logical level, usually in the supertype. Subtypes then inherit these attributes automatically. Attributes that apply only to certain subtypes are placed at those subtype levels. This design approach supports normalization, reduces duplication of definitions, and makes the data model easier to maintain.
Step-by-Step Solution:
Step 1: Recall that inheritance means subtypes automatically receive attributes defined in the supertype.Step 2: Recognize that common attributes, such as a unique identifier or general description, should be defined once at the highest level where they apply to all entities.Step 3: Understand that placing shared attributes in each subtype separately would cause redundancy and potential inconsistency.Step 4: Identify which option states that attributes are assigned at the highest logical level in the hierarchy.Step 5: Conclude that assigning common attributes at the supertype level is the correct principle and matches the correct answer choice.
Verification / Alternative check:
Imagine a hierarchy where the supertype Employee has subtypes Manager and Engineer. Attributes such as employee number, name, and hire date apply to both Managers and Engineers, so they should be defined once for the Employee supertype. Subtype specific attributes, such as number of direct reports for a Manager, should be defined only for the Manager subtype. This example illustrates clearly that common attributes belong at the highest logical level, confirming that the principle summarized in the correct option is valid.
Why Other Options Are Wrong:
The statement that subtypes at the higher level inherit attributes from their subtypes is incorrect because inheritance flows from supertype to subtype, not the other way around. The idea that all attributes should be assigned only at the lowest subtype level is wrong because it causes duplication of shared attributes. The option about subtypes inheriting attributes only from the immediate supertype without acknowledging higher levels oversimplifies the transitive nature of inheritance. The statement that attributes are assigned randomly is clearly not consistent with sound data modeling practices.
Common Pitfalls:
Learners sometimes believe that placing attributes at the lowest level gives more flexibility, but it quickly leads to redundancy and maintenance problems. Another pitfall is misunderstanding the direction of inheritance and thinking that supertypes somehow inherit from subtypes. A clear mental model is that a subtype is a special kind of supertype and therefore always includes everything defined for the supertype plus its own details. When designing hierarchies, always ask which entities share an attribute and place that attribute at the highest level where it applies to all of them.
Final Answer:
The correct design principle is that common attributes are assigned at the highest appropriate logical level in the hierarchy, usually in the supertype.
Discussion & Comments