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

Database Database Redesign Difficulty: Easy
Choose an option
  • A
    Correct — reverse engineering derives a data model from an existing schema
  • B
    Incorrect — reverse engineering creates code from a model, not vice versa
  • C
    Applies only to object databases
  • D
    Depends solely on whether ER notation is crow’s foot or IE

Answer

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.

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