0% found this document useful (0 votes)
3 views6 pages

Functional Dependency

Functional dependency in relational databases describes the relationship between attributes, where one attribute (determinant) uniquely determines another (dependent). It is crucial for understanding data relationships and ensuring data consistency, with various types including trivial, non-trivial, multivalued, and transitive dependencies. The document provides examples of valid and invalid functional dependencies, illustrating their significance in database management systems.

Uploaded by

opbabul2005
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views6 pages

Functional Dependency

Functional dependency in relational databases describes the relationship between attributes, where one attribute (determinant) uniquely determines another (dependent). It is crucial for understanding data relationships and ensuring data consistency, with various types including trivial, non-trivial, multivalued, and transitive dependencies. The document provides examples of valid and invalid functional dependencies, illustrating their significance in database management systems.

Uploaded by

opbabul2005
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

In relational database management, functional dependency is a

concept that specifies the relationship between two sets of


attributes where one attribute determines the value of another
attribute. It is denoted as X → Y, where the attribute set on the left
side of the arrow, X is called Determinant, and Y is called the
Dependent.
What is Functional Dependency?
A functional dependency occurs when one attribute uniquely
determines another attribute within a relation. It is a constraint that
describes how attributes in a table relate to each other. If attribute A
functionally determines attribute B we write this as the A→B.
Functional dependencies are used to mathematically express
relations among database entities and are very important to
understanding advanced concepts in Relational Database Systems.
Example:
roll_n
o name dept_name dept_building

42 abc CO A4

43 pqr IT A3

44 xyz CO A4

45 xyz IT A3

46 mno EC B2

47 jkl ME B2

From the above table we can conclude some valid functional


dependencies:
 roll_no → { name, dept_name, dept_building }→ Here, roll_no can
determine values of fields name, dept_name and dept_building,
hence a valid Functional dependency
 roll_no → dept_name , Since, roll_no can determine whole set of
{name, dept_name, dept_building}, it can determine its subset
dept_name also.
 dept_name → dept_building , Dept_name can identify the
dept_building accurately, since departments with different
dept_name will also have a different dept_building
 More valid functional dependencies: roll_no → name, {roll_no,
name} ⇢ {dept_name, dept_building}, etc.
Here are some invalid functional dependencies:
 name → dept_name Students with the same name can have
different dept_name, hence this is not a valid functional
dependency.
 dept_building → dept_name There can be multiple departments
in the same building. Example, in the above table departments
ME and EC are in the same building B2, hence dept_building →
dept_name is an invalid functional dependency.
 More invalid functional dependencies: name → roll_no, {name,
dept_name} → roll_no, dept_building → roll_no, etc.
What is Functional Dependency in DBMS ?
Types of Functional Dependencies in DBMS
1. Trivial functional dependency
2. Non-Trivial functional dependency
3. Multivalued functional dependency
4. Transitive functional dependency
1. Trivial Functional Dependency
In Trivial Functional Dependency, a dependent is always a subset of
the determinant. i.e. If X → Y and Y is the subset of X, then it is
called trivial functional dependency.
Symbolically: A→B is trivial functional dependency if B is a subset of
A.
The following dependencies are also trivial: A→A & B→B
Example 1 :
 ABC -> AB
 ABC -> A
 ABC -> ABC
Example 2:
roll_no name age

42 abc 17

43 pqr 18
roll_no name age

44 xyz 18

Here, {roll_no, name} → name is a trivial functional dependency,


since the dependent name is a subset of determinant set {roll_no,
name}. Similarly, roll_no → roll_no is also an example of trivial
functional dependency.
2. Non-trivial Functional Dependency
In Non-trivial functional dependency, the dependent is strictly
not a subset of the determinant. i.e. If X → Y and Y is not a subset
of X, then it is called Non-trivial functional dependency.
Example 1 :
 Id -> Name
 Name -> DOB
Example 2:
roll_no name age

42 abc 17

43 pqr 18

44 xyz 18

Here, roll_no → name is a non-trivial functional dependency, since


the dependent name is not a subset of determinant roll_no.
Similarly, {roll_no, name} → age is also a non-trivial functional
dependency, since age is not a subset of {roll_no, name}
3. Semi Non Trivial Functional Dependencies
A semi non-trivial functional dependency occurs when part of the
dependent attribute (right-hand side) is included in the determinant
(left-hand side), but not all of it. This is a middle ground between
trivial and non-trivial functional dependencies. X -> Y is called semi
non-trivial when X intersect Y is not NULL.
Example:
Consider the following table:
Course_I
Student_ID D Course_Name

101 CSE101 Computer Science

102 CSE102 Data Structures

103 CSE101 Computer Science


Functional Dependency:
{StudentID,CourseID}→CourseID
This is semi non-trivial because:
 Part of the dependent attribute (Course_ID) is already included in
the determinant ({Student_ID, Course_ID}).
 However, the dependency is not completely trivial because
{StudentID}→CourseID is not implied directly.
4. Multivalued Functional Dependency
In Multivalued functional dependency, entities of the dependent set
are not dependent on each other. i.e. If a → {b, c} and there exists
no functional dependency between b and c, then it is called a
multivalued functional dependency.
Example:
bike_model manuf_year color

tu1001 2007 Black

tu1001 2007 Red

tu2012 2008 Black

tu2012 2008 Red

tu2222 2009 Black

tu2222 2009 Red

In this table:
 X: bike_model
 Y: color
 Z: manuf_year
For each bike model (bike_model):
1. There is a group of colors (color) and a group of manufacturing
years (manuf_year).
2. The colors do not depend on the manufacturing year, and the
manufacturing year does not depend on the colors. They are
independent.
3. The sets of color and manuf_year are linked only to bike_model.
That’s what makes it a multivalued dependency.
In this case these two columns are said to be multivalued dependent
on bike_model. These dependencies can be represented like this:

5. Transitive Functional Dependency


In transitive functional dependency, dependent is indirectly
dependent on determinant. i.e. If a → b & b → c, then according to
axiom of transitivity, a → c. This is a transitive functional
dependency.
Example:
enrol_n dep
o name t building_no

42 abc CO 4

43 pqr EC 2

44 xyz IT 1

45 abc EC 2

Here, enrol_no → dept and dept → building_no. Hence, according to


the axiom of transitivity, enrol_no → building_no is a valid functional
dependency. This is an indirect functional dependency, hence called
Transitive functional dependency.
6. Fully Functional Dependency
In full functional dependency an attribute or a set of attributes
uniquely determines another attribute or set of attributes. If a
relation R has attributes X, Y, Z with the dependencies X->Y and X-
>Z which states that those dependencies are fully functional.
7. Partial Functional Dependency
In partial functional dependency a non key attribute depends on a
part of the composite key, rather than the whole key. If a relation R
has attributes X, Y, Z where X and Y are the composite key and Z is
non key attribute. Then X->Z is a partial functional dependency in
RDBMS.
Conclusion
Functional dependency is very important concept in database
management system for ensuring the data consistency and
accuracy. In this article we have discuss what is the concept behind
functional dependencies and why they are important. The valid and
invalid functional dependencies and the types of most important
functional dependencies in RDBMS.

You might also like