Equivalence of Functional Dependencies (original) (raw)

Last Updated : 24 Apr, 2026

Equivalence of functional dependencies means two sets of functional dependencies (FDs) are considered equivalent if they enforce the same constraints on a relation. This happens when every FD in one set can be derived from the other set and vice versa using inference rules like Armstrong's axioms.

**Find the Relationship Between Two Functional Dependency Sets

Let FD1 and FD2 be two FD sets for a relation R.

  1. If all FDs of FD1 can be derived from FDs present in FD2, we can say that FD2 ⊃ FD1.
  2. If all FDs of FD2 can be derived from FDs present in FD1, we can say that FD1 ⊃ FD2.
  3. If 1 and 2 both are true, FD1=FD2.

All these three cases can be shown using the Venn diagram:

functional_dependencies

Equivalence of Functional Dependency

**Need to Compare Functional Dependencies

Suppose in the designing process we convert the ER diagram to a relational model and this task is given to two different engineers. Now those two engineers give two different sets of functional dependencies.

Advantages

Disadvantages

Sample Questions

**Q.1 Let us take an example to show the relationship between two FD sets. A relation R(A,B,C,D) having two FD sets FD1 = {A->B, B->C, AB->D} and FD2 = {A->B, B->C, A->C, A->D}

**Step 1: Checking whether all FDs of FD1 are present in FD2

As all FDs in set FD1 also hold in set FD2, **FD2 ⊃ FD1 is true.

**Step 2: Checking whether all FDs of FD2 are present in FD1

As all FDs in set FD2 also hold in set FD1, **FD1 ⊃ FD2 is true.

**Step 3: As FD2 ⊃ FD1 and FD1 ⊃ FD2 both are true **FD2 =FD1 is true. These two FD sets are semantically equivalent.

**Q.2 Let us take another example to show the relationship between two FD sets. A relation R2(A,B,C,D) having two FD sets FD1 = {A->B, B->C,A->C} and FD2 = {A->B, B->C, A->D}

**Step 1: Checking whether all FDs of FD1 are present in FD2

As all FDs in set FD1 also hold in set FD2, FD2 ⊃ FD1 is true.

**Step 2: Checking whether all FDs of FD2 are present in FD1

As all FDs in set FD2 do not hold in set FD1, FD2 ⊄ FD1.

**Step 3: In this case, FD1 ⊆ FD2 and FD2 ⊄ FD1, these two FD sets are not semantically equivalent.