**Equivalence of Two Sets of Functional Dependencies-**

Before you go through this article, make sure that you have gone through the previous article on **Functional Dependency**.

In DBMS,

- Two different sets of functional dependencies for a given relation may or may not be equivalent.
- If F and G are the two sets of functional dependencies, then following 3 cases are possible-

**Case-01**: F covers G (F ⊇ G)

**Case-02:** G covers F (G ⊇ F)

**Case-03:** Both F and G cover each other (F = G)

**Case-01: Determining Whether F Covers G-**

Following steps are followed to determine whether F covers G or not-

**Step-01:**

- Take the functional dependencies of set G into consideration.
- For each functional dependency X → Y, find the closure of X using the functional dependencies of set G.

**Step-02:**

- Take the functional dependencies of set G into consideration.
- For each functional dependency X → Y, find the closure of X using the functional dependencies of set F.

**Step-03:**

- Compare the results of Step-01 and Step-02.
- If the functional dependencies of set F has determined all those attributes that were determined by the functional dependencies of set G, then it means F covers G.
- Thus, we conclude F covers G (F ⊇ G) otherwise not.

**Case-02: Determining Whether G Covers F-**

Following steps are followed to determine whether G covers F or not-

**Step-01:**

- Take the functional dependencies of set F into consideration.
- For each functional dependency X → Y, find the closure of X using the functional dependencies of set F.

**Step-02:**

- Take the functional dependencies of set F into consideration.
- For each functional dependency X → Y, find the closure of X using the functional dependencies of set G.

**Step-03:**

- Compare the results of Step-01 and Step-02.
- If the functional dependencies of set G has determined all those attributes that were determined by the functional dependencies of set F, then it means G covers F.
- Thus, we conclude G covers F (G ⊇ F) otherwise not.

**Case-03: Determining Whether Both F and G Cover Each Other-**

- If F covers G and G covers F, then both F and G cover each other.
- Thus, if both the above cases hold true, we conclude both F and G cover each other (F = G).

**PRACTICE PROBLEM BASED ON EQUIVALENCE OF FUNCTIONAL DEPENDENCIES-**

**Problem-**

A relation R (A , C , D , E , H) is having two functional dependencies sets F and G as shown-

**Set F-**

A → C

AC → D

E → AD

E → H

**Set G-**

A → CD

E → AH

Which of the following holds true?

(A) G ⊇ F

(B) F ⊇ G

(C) F = G

(D) All of the above

**Solution-**

**Determining whether F covers G-**

**Step-01:**

- (A)
^{+}= { A , C , D } // closure of left side of A → CD using set G - (E)
^{+}= { A , C , D , E , H } // closure of left side of E → AH using set G

**Step-02:**

- (A)
^{+}= { A , C , D } // closure of left side of A → CD using set F - (E)
^{+}= { A , C , D , E , H } // closure of left side of E → AH using set F

**Step-03:**

Comparing the results of Step-01 and Step-02, we find-

- Functional dependencies of set F can determine all the attributes which have been determined by the functional dependencies of set G.
- Thus, we conclude F covers G i.e. F ⊇ G.

**Determining whether G covers F-**

**Step-01:**

- (A)
^{+}= { A , C , D } // closure of left side of A → C using set F - (AC)
^{+}= { A , C , D } // closure of left side of AC → D using set F - (E)
^{+}= { A , C , D , E , H } // closure of left side of E → AD and E → H using set F

**Step-02:**

- (A)
^{+}= { A , C , D } // closure of left side of A → C using set G - (AC)
^{+}= { A , C , D } // closure of left side of AC → D using set G - (E)
^{+}= { A , C , D , E , H } // closure of left side of E → AD and E → H using set G

**Step-03:**

Comparing the results of Step-01 and Step-02, we find-

- Functional dependencies of set G can determine all the attributes which have been determined by the functional dependencies of set F.
- Thus, we conclude G covers F i.e. G ⊇ F.

**Determining whether both F and G cover each other-**

- From Step-01, we conclude F covers G.
- From Step-02, we conclude G covers F.
- Thus, we conclude both F and G cover each other i.e. F = G.

Thus, Option (D) is correct.

**Next Article-** **Canonical Cover in DBMS**

Get more notes and other study material of **Database Management System (DBMS)**.

Watch video lectures by visiting our YouTube channel **LearnVidFun**.