Friday, November 28, 2025

What is dependency preserving decomposition - Explanation with example

Database Concepts • Normalization

What is Dependency Preserving Decomposition? Why is it important?

Dependency Preserving Decomposition

A decomposition of a relation R into smaller relations R₁, R₂, ..., Rₙ is said to be dependency preserving if all functional dependencies of R can still be enforced without performing a join.

Formal Definition

Let R be decomposed into R₁, R₂, ..., Rₙ.
If the functional dependencies F of R can be inferred from the union of FDs preserved in each decomposition:

(F₁ ∪ F₂ ∪ ... ∪ Fₙ)+ = F+

then the decomposition is dependency preserving.

Why is it important?

  • We want to maintain constraints (FDs) directly on decomposed tables.
  • If dependencies are not preserved, we must join tables to check or enforce them → costly and inefficient.

Example — Dependency Preserving

Given:

R(A, B, C)
FDs: A → B, B → C

Decompose into:

R1(A, B)
R2(B, C)

Each functional dependency remains inside one of the decomposed relations:

  • In R1: A → B
  • In R2: B → C

To verify the functional dependencies, no need to join decomposed relations — dependency preserving.

Example — Not Dependency Preserving

Given:

R(A, B, C)
FDs: A → BC

Decomposition:

R1(A, B)
R2(A, C)

Here each FD is split and cannot be enforced directly from any single relation.

To verify A → BC, we must join:

R1 ⋈ R2

Therefore not dependency preserving.

No comments:

Post a Comment

Featured Content

Multiple choice questions in Natural Language Processing Home

MCQ in Natural Language Processing, Quiz questions with answers in NLP, Top interview questions in NLP with answers Multiple Choice Que...

All time most popular contents