Reverse-engineering an existing database: When assessing the structure of an acquired set of tables with data, determining functional dependencies is (part of) the ________.

Difficulty: Easy

Correct Answer: fourth step.

Explanation:


Introduction / Context:
Functional dependencies (FDs) describe how attributes depend on keys and on each other. Identifying FDs supports deeper normalization (3NF/BCNF) and reveals hidden redundancy. In a structured assessment process, FDs are typically analyzed after keys and relationships are mapped and validated.



Given Data / Assumptions:

  • Workflow: 1) primary keys, 2) foreign keys, 3) validate referential integrity, 4) determine functional dependencies.
  • We are examining live data to infer design intent.
  • FD discovery may use profiling and business rules.


Concept / Approach:

With keys and RI confirmed, FD analysis proceeds on firm ground. This prevents misattributing dependencies that are actually relationship artifacts. The fourth step is thus the appropriate phase to document non-key determinants, partial dependencies, and transitive dependencies, guiding further normalization or targeted denormalization.



Step-by-Step Solution:

List candidate determinants (e.g., PostalCode → City, State).Test with data profiling (count distinct groups where determinant repeats).Record valid FDs to inform schema changes and constraints.


Verification / Alternative check:

Use SQL checks such as grouping by determinant and verifying that dependent attributes do not vary within groups; discrepancies indicate violations or data quality issues.



Why Other Options Are Wrong:

Running FD analysis earlier risks misinterpretation before keys/RI are known; labeling it as first, second, or third is less methodical in a reverse-engineering context.



Common Pitfalls:

Confusing correlation with dependency; ignoring conditional dependencies that vary by subset (e.g., country-specific rules).



Final Answer:

fourth step.

More Questions from Database Design Using Normalization

Discussion & Comments

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