Difficulty: Easy
Correct Answer: Correct — reverse engineering derives a data model from an existing schema
Explanation:
Introduction / Context:
Reverse engineering is a standard activity when inheriting legacy systems or redesigning existing databases. It helps teams understand entities, keys, and relationships embodied in a live schema.
Given Data / Assumptions:
Concept / Approach:
Reverse engineering maps tables to entities, columns to attributes, PKs to identifiers, and FKs to relationships. Associative tables are recognized for many-to-many relationships, and additional rules (unique constraints, check constraints) are captured as model constraints.
Step-by-Step Solution:
Extract schema metadata.Identify entities and their identifiers from PKs/unique constraints.Derive relationships from foreign keys and cardinalities.Refine the model by naming standards and business semantics.
Verification / Alternative check:
ER tools can automatically generate diagrams from schema and then allow manual adjustments for business meaning.
Why Other Options Are Wrong:
Forward engineering is the opposite (model → schema). Database type and notation style do not change the definition.
Common Pitfalls:
Assuming schema names always match business semantics; overlooking constraints that imply optionality or exclusivity.
Final Answer:
Correct — reverse engineering reads the schema to produce a data model.
Discussion & Comments