## 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).

## Problem-

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

A → C

AC → D

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

## 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.