• Home
  • Closure of Set of Functional Dependencies – DBMS

Closure of Set of Functional Dependencies – DBMS

In database management systems (DBMS), the closure of a set of functional dependencies is the set of all functional dependencies that can be derived from the given set. It is used to determine the dependencies that exist between attributes in a database, and it is a key concept in the process of normalizing a database.

A functional dependency is a relationship between two attributes in a database where the value of one attribute (the determinant) determines the value of another attribute (the dependent). For example, consider a database with the following attributes:

  • Employee ID (determinant)
  • Employee name (dependent)

In this database, the employee name attribute is dependent on the employee ID attribute because the value of the employee ID attribute determines the value of the employee name attribute. This means that if the employee ID is known, the employee name can be determined.

The closure of a set of functional dependencies is the set of all functional dependencies that can be derived from the given set. It is used to determine the dependencies that exist between attributes in a database, and it is a key concept in the process of normalizing a database.

To find the closure of a set of functional dependencies, you can follow these steps:

  1. Identify the attributes in the database: The first step in finding the closure of a set of functional dependencies is to identify all the attributes in the database. This includes the primary key, determinant, and dependent attributes.
  2. Determine the functional dependencies: The next step is to determine the functional dependencies that exist between the attributes in the database. A functional dependency is a relationship between two attributes in a database where the value of one attribute (the determinant) determines the value of another attribute (the dependent).
  3. Find the closure of the set of functional dependencies: To find the closure of a set of functional dependencies, you can use the following rules:
  • If X -> Y is a functional dependency, then X+ -> Y is also a functional dependency.
  • If X -> Y and Y -> Z are functional dependencies, then X -> Z is also a functional dependency.
  • If X -> Y is a functional dependency, then X+ -> Y+ is also a functional dependency.

For example, consider a database with the following attributes:

  • Employee ID (determinant)
  • Employee name (dependent)
  • Employee salary (dependent)
  • Employee department (dependent)

In this database, the following functional dependencies exist:

  • Employee ID -> Employee name
  • Employee name -> Employee salary
  • Employee ID -> Employee department

To find the closure of the set of functional dependencies, you can use the rules above to derive the following functional dependencies:

  • Employee ID -> Employee name, Employee salary, Employee department
  • Employee name -> Employee salary
  • Employee ID -> Employee department

In this example, the closure of the set of functional dependencies is {Employee ID -> Employee name, Employee salary, Employee department, Employee name -> Employee salary, Employee ID -> Employee department}.

In summary, the closure of a set of functional dependencies is the set of all functional dependencies that can be derived from the given set. It is used to determine the dependencies that exist between attributes in a database, and it is a key concept in the process of normalizing a database. To find the closure of a set of functional dependencies, you can identify the attributes in the database, determine the functional dependencies, and use rules such as X+ -> Y, X -> Z, and X+ -> Y+ to find the closure of the set.