Jun 6, 20224 min
Updated: Oct 21, 2022
Mobiprep has created last-minute notes for all topics of Functional Dependencies to help you with the revision of concepts for your university examinations. So let’s get started with the lecture notes on Functional Dependencies.
Our team has curated a list of the most important questions asked in universities such as DU, DTU, VIT, SRM, IP, Pune University, Manipal University, and many more. The questions are created from the previous year's question papers of colleges and universities.
Define Functional Dependency in Relational Model.
Define Functional dependency set.
What are the types of Functional Dependencies?
What are the different properties of Functional Dependency?
Define Attribute Closure with an example.
Define Canonical Cover with an example.
Explain Lossless Join Decomposition.
What do you mean by Extraneous Attributes?
What is a use of Attribute Closure?
What is Trivial Dependency?
What is the use of Functional Dependencies?
Answer - Functional dependency defines the relationship of one attribute to the other in a database table. A functional dependency of a relation is denoted by an arrow 🡪.
If the attribute A is dependent on attribute B, it is denoted by A🡪B. A🡪B indicates that tuples having the same value of attribute A also should have the same value of attribute Example:
In the above example, SID🡪SName is a functional dependency, because SName is dependent on SID.
Answer - A functional dependency set of a relation is the set of all functional dependencies in that relation.
Example:
The functional dependency set of the above relation is
{ Roll_No.🡪Name, Roll_No🡪Phone, Roll_No🡪Country, Name🡪Age}
Trivial Functional Dependency: A🡪B is said to be a trivial functional dependency if B is the subset of A and A∩B is not NULL. Such a functional dependency is always valid. An attribute determining itself (A🡪A) is also a trivial functional dependency.
Non-trivial Functional Dependency: A🡪B is said to be a non-trivial functional dependency if B is not a subset of A and A∩B is NULL. Such a functional dependency may be valid or invalid.
Answer - Armstrong’s axioms are the set of rules which define the properties of a functional dependency.
Reflexivity - If Y is subset of X, then X🡪 Y
Augmentation - If X 🡪 Y, then XZ 🡪YZ
Transitive - If X 🡪Y and Y 🡪Z, then X🡪Z
Union - If X🡪Y and X🡪Z, then X🡪YZ
Decomposition - If X🡪YZ, then X🡪Y and X🡪Z
Pseudo Transitivity - If X🡪Y and WY🡪Z, then WX🡪Z
Composition - if X🡪Y and Z🡪W, then XZ🡪YW
Answer - The attribute closure of a set of attributes is defined as the set of all attributes which can be functionally determined from it. Attribute closure of the relation A is denoted by {A}+.
Steps to find attribute closure of a relation:
Add elements of an attribute set to the result set.
Recursively add elements to the result set which can be functionally determined from the elements of the result set.
Answer - Canonical cover Fc of a set of functional dependencies F is a simplified or irreducible set of FDs that has the same closure as that of the original set F. Fc logically implies all dependencies in F. A functional dependency in the canonical or minimal cover must not have extraneous attributes. Each left side of an FD in Fc is unique. i.e. there are no 2 dependencies A🡪B and C🡪D such that A🡪C
Example
The closure of the attribute Roll_No. in the above table is given below:
(Roll_No)+ = {Roll_No., Name, Phone, Country, Age}
Answer - Lossless join decomposition is used to remove redundancy from the relation safely. When a relation is decomposed into two or more relations (R1, R2, etc.,) such that the natural join of the relations will give back the original relation, it is called lossless join decomposition.
Consider that a relation R is decomposed into three relations R1, R2, and R3. This decomposition is lossless if the union of the attributes R1, R2, and R3 is equal to the attributes of R, and the intersection of the attributes of R1, R2, and R3 is NULL.
Answer - After removing an attribute of functional dependency, if there is no change in the attribute closure of the set of FDs, then the removed attribute is called an extraneous attribute. A canonical cover must not contain extraneous attributes.
Attribute closure helps in finding all the functional dependencies of a relation.
It is used to find the candidate keys of a relation.
Answer - A🡪B is said to be a trivial functional dependency if B is the subset of A and A∩B is not NULL. Such a functional dependency is always valid. An attribute determining itself (A🡪A) is also a trivial functional dependency.
Answer - The following are the uses of functional dependencies:
Functional dependencies help in the design of good database models.
Functional dependencies are useful in removing the redundancies from the relational database without any loss of data.
It reduces the possibility of an update anomaly.
It promotes data integrity and data consistency.