Reverse engineering from existing tables: do normalization principles still apply?

Difficulty: Easy

Correct Answer: Valid (you must still analyze keys and dependencies and normalize)

Explanation:


Introduction / Context:
Projects often migrate from legacy tables or files to a new relational database. The temptation is to replicate the existing structure verbatim. This question asks whether normalization principles still apply in such a scenario. The correct mindset is to treat the legacy data as raw material, not as a finished logical model.


Given Data / Assumptions:

  • You receive existing tables (possibly denormalized or inconsistent).
  • Your goal is to create a robust relational schema for ongoing use.
  • Quality issues (duplicates, inconsistent codes) may exist and must be addressed.


Concept / Approach:
Normalization is a logical design discipline independent of data source. Whether starting from scratch or from legacy artifacts, you still must identify entities, candidate keys, functional dependencies, multivalued dependencies, and relationships. Proper normalization reduces redundancy and eliminates anomalies, enabling consistent updates and clear semantics.


Step-by-Step Solution:

Profile the incoming data to find keys, null patterns, and uniqueness.Document FDs and MVDs; remove repeating groups.Decompose relations to 3NF/BCNF (and 4NF if MVDs exist) with lossless joins.Add constraints (PKs, FKs, CHECKs) to enforce the model.


Verification / Alternative check:
Compare anomaly rates and data quality before and after normalization. Post-normalization, updates become localized and integrity violations are prevented by constraints, validating the approach.


Why Other Options Are Wrong:

  • Limiting normalization to “brand-new designs” ignores decades of practice.
  • Storage engine and indexing do not replace logical design.


Common Pitfalls:
Blindly importing spreadsheets as tables; assuming column names equal well-defined attributes; skipping constraints because legacy data are messy.


Final Answer:
Valid (you must still analyze keys and dependencies and normalize)

Discussion & Comments

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