Till now, we have covered up to the Closure Set of Attributes method of finding candidate keys. Before reading this post, please read the following posts on Normalization:-
In this post, we will look at the types of Functional Dependencies which is very important for understanding Database Normalization. Here, we look at 4 types of Functional Dependencies:-
- Full Dependencies
- Partial Dependencies
- Transitive Dependencies
- Overlapping Candidate Key Dependencies
****For GATE, it is very important to know and remember the exact criterion of each of these dependencies. Almost every year, at least 1 direct question comes from this topic.
Full Dependencies
· A dependency is said to be full if the
determinant of the dependency is a superkey.
·
Full dependencies can be represented by the
diagram shown above:-
The amount of redundancy caused by each full dependency is always 0, hence normalization procedure will not try eliminating Full Dependencies. An example of a full dependency has also been shown above. The candidate key has been assumed.Partial Dependencies
The amount of redundancy caused by each full dependency is always 0, hence normalization procedure will not try eliminating Full Dependencies. An example of a full dependency has also been shown above. The candidate key has been assumed.Partial Dependencies
·
A dependency is said to be partial if non-prime
attributes are depending partially on a candidate key. In other words, if there is a functional
dependency in which part of a candidate key is determining non prime
attribute(s), then it is called a partial dependency.
· Partial dependencies can cause redundancy in the
relations and hence they will be eliminated in the normalization procedure.
· If there exists a relation that has simple
candidate keys only(single attribute candidate keys), then there exists no
partial dependencies.
·
Partial dependencies can be represented by the
diagram shown above. An example for the same has also been shown.
Transitive
Dependencies
·
A dependency is said to be transitive if a
non-prime attribute(s) are depending on other non-prime attributes or on a
combination of non-prime attributes and proper subject of candidate keys. In other words, the dependency is transitive if one or more non-prime attributes are depending on a superkey transitively but not directly.
·
Transitive dependencies can cause redundancy
hence normalization process tries to eliminate them.
·
If all attributes in a relation are prime, the
number of partial dependencies and the number of transitive dependencies are
both zero. (Why? Think!)
· Transitive dependencies can be represented by
the diagram shown above. An example for the same has also been shown.
Overlapping
Candidate Key Dependencies
·
If in a dependency XàY, X is not a superkey and Y
is the proper subset of a candidate key, then the dependency is called an
Overlapping Candidate Key dependency.
·
Overlapping Candidate Key Dependencies can be
represented by the diagram shown above. An example for the same has also been shown.
In this post, we have seen the types of Functional Dependencies. In the next post, we will look at a few definitions and develop the concept of Normal Forms.
Was it a nice read? Please subscribe to the blog by clicking on the 'Follow' button on the right hand side of this page. You can also subscribe by email by entering your email id in the box provided. In that case, you will be updated via email as and when new posts are published. Cheers!
Click here to read Part 4
In this post, we have seen the types of Functional Dependencies. In the next post, we will look at a few definitions and develop the concept of Normal Forms.
Was it a nice read? Please subscribe to the blog by clicking on the 'Follow' button on the right hand side of this page. You can also subscribe by email by entering your email id in the box provided. In that case, you will be updated via email as and when new posts are published. Cheers!
Click here to read Part 4
No comments:
Post a Comment