Reverse engineering definition: is reverse engineering the process of reading an existing database schema and generating a data model from that schema?

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:

  • You have access to the DB schema (tables, columns, constraints).
  • Tools or techniques analyze PK/FK structures to infer a model.
  • The goal is a conceptual/logical representation independent of vendor specifics.



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.

More Questions from Database Redesign

Discussion & Comments

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