In ER modeling, is a recursive relationship defined as a relationship between instances of the same entity type (for example, Employee manages Employee), rather than between an “archetype” and an instance?
-
AIncorrect
-
BCorrect
-
COnly true for 1:1 relationships
-
DOnly true for supertype/subtype models
-
E——
Answer
Correct Answer: Incorrect
Explanation
Introduction / Context: A recursive (unary) relationship relates an entity type to itself. Classic examples include employee-to-manager, part-to-subpart (bill of materials), and person-to-guardian. The notion of “archetype vs. instance” is not ER terminology for recursion and confuses separate modeling ideas.
Given Data / Assumptions:
- Recursive = unary relationship involving a single entity type.
- Archetype/instance phrasing is not part of standard ER definitions.
- Cardinality and optionality still apply (e.g., each Employee may have zero or one manager; a manager may supervise many employees).
Concept / Approach: Model recursion by relating the entity to itself with appropriate roles (e.g., Employee as “Manager” and Employee as “Subordinate”), and set min/max cardinalities per role. This is independent of inheritance (supertype/subtype) structures.
Step-by-Step Solution: Select entity type (Employee). Create relationship EMPLOYEE manages EMPLOYEE with role names. Set cardinalities: each Employee may have 0..1 manager; a Manager may have 0..N subordinates. Implement with a self-referencing foreign key (e.g., Employee.ManagerID → Employee.EmployeeID).
Verification / Alternative check: Check that removing the recursive FK breaks manager-subordinate traversal, confirming the self-relationship semantics.
Why Other Options Are Wrong: Saying recursion is between an archetype and instance misuses terms; recursion is between two roles of the same entity type. Tying recursion to 1:1 or inheritance is also incorrect.
Common Pitfalls: Forgetting to name roles; trying to create two separate entities instead of a single entity with a recursive relationship.
Final Answer: Incorrect