What is Third Normal Form?
The third step in Normalization is 3NF. For a table to be in third normal form, it needs to satisfy the following conditions:
For every non-trivial function dependency X → Y.
- X is a super key.
- Y is a prime attribute, i.e., each element of Y is part of some candidate key.
Note:
- If a relation is in 2NF and does not contain any transitive partial dependencies, it will be in 3NF.
- The amount of duplicate data is decreased using 3NF. Additionally, it is employed to ensure data integrity.
- If there is no transitive dependency for non-prime attributes, then the relation must be in third normal form.
What is Transitive Dependency?
A transitive dependency, as used in database management systems (DBMS), is a relationship between three or more attributes in a table such that if attribute A depends on attribute B and attribute C depends on attribute B, then attribute A also depends on attribute C. This means that the value of attribute A can be determined indirectly by looking at the value of attribute C.
For instance,
Consider a table Employee_Info with the following attributes: Employee_ID, Employee_Name, Employee_Department, and Department_Location. This table has a transitive dependency between Employee_Department and Department_Location because the location of a department can be determined indirectly through the department of an employee.
To remove this dependency, we can split the table into two tables: “Employee” and “Department“. The Employee table would have the following attributes: Employee_ID, Employee_Name, and Department_ID. The Department table would have the following attributes: Department_ID, Department_Name, and Department_Location.
This makes it easier to maintain the data and prevents data inconsistencies or redundancies that can occur with transitive dependencies.
Note: also read about Second Normal Form(2NF)
Follow Me
Please follow me to read my latest post on programming and technology if you like my post.
https://www.instagram.com/coderz.py/
https://www.facebook.com/coderz.py
Staying up to the mark is what defines me. Hi all! I’m Rabecca Fatima a keen learner, great enthusiast, ready to take new challenges as stepping stones towards flying colors.
Leave a Comment