Functional dependency with examples

Functional Dependency

A Functional dependency is a relationship between attributes. 
In functional dependency we can obtain the value of another attribute from given attribute.

For example,
If we know the value of student roll number, we can obtain student address, marks etc. By this, we say that student address and marks is functionally dependent on student roll number.

Types of functional dependency:
  1. Single Valued Functional Dependency
  2. Fully Functional Dependency
  3. Partial Functional Dependency
  4. Transitive Functional Dependency
  5. Trivial Functional Dependency

1) Single Valued Functional Dependency:

A simple example of single value functional dependency is when Roll_Number is the primary key of an entity and Student_Name is some single valued attribute of the entity. 
Then, 
Roll_Number → Student_Name

Roll_Number

Student_Name

Student_Address

011

Jayesh Umre

Burhanpur

012

Kunal Batra

Burhanpur

013

Nilesh Nimbhorkar

Ichchapur

014

Aryan Jagdale

Ujjain


2) Fully Functional Dependency:

A functional dependency P → Q is full functional dependency if removal of any attribute A from P means that the dependency does not hold any more.

Roll_Number

Subject_Name

Paper_Hours

011

DBMS

3

012

Python

1

013

AWT

3

025

DBMS

2


From above table,
{Roll_Number, Subject_Name} --> Paper_Hour
Since neither Roll_Number --> Paper_Hour nor Subject_Name --> Paper_Hour hold.

3) Partial Functional Dependency:

A Functional Dependency in which one or more non key attributes are functionally depending on a part of the primary key is called partial functional dependency.

Roll_Number

Subject_Name

Student_Name

011

DBMS

Jayesh Umre

012

Python

Kunal Batra

013

AWT

Nilesh Nimbhorkar

014

DBMS

Aryan Jagdale


From above table,
{Roll_Number, Subject_Name} --> Student_Name is not a full FD.
Since Roll_Number --> Student_Name also hold.

4) Transitive Functional Dependency:

Given a relation R(A,B,C)  then dependency like A–>B, B–>C   is a transitive dependency, since   A–>C is implied 

Roll_Number

Pin_Code

City_Name

011

450331

Burhanpur

012

450001

Khandwa

013

456001

Ujjain

014

452020

Indore


From above table,
Roll_Number --> Pin_Code and Pin_Code --> City_Name hold.
Than Roll_Number --> City_Name is a transitive FD.

5) Trivial Functional Dependency:

Functional dependency of the form A–>B is trivial if B subset of A or B = A.

Roll_Number

Student_Name

011

Jayesh Umre

012

Kunal Batra

013

Nilesh Nimbhorkar

014

Aryan Jagdale


From above table,
{Roll_Nuber, Student_Name} --> Roll_Number is a trivial functional dependency as Roll_Number is a subset of {Roll_Number,Student_Name}.

Check out this video lecture, for more info on functional dependency


More topics from DBMS to read:

EasyExamNotes.com covered following topics in these notes.
Python Programming ↓ 👆
Java Programming ↓ 👆
JAVA EasyExamNotes.com covered following topics in these notes.
JAVA Programs
Principles of Programming Languages ↓ 👆
Principles of Programming Languages
EasyExamNotes.com covered following topics in these notes.

Practicals:
Previous years solved papers:
A list of Video lectures References:
  1. Sebesta,”Concept of programming Language”, Pearson Edu 
  2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
  3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
  4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

    Computer Organization and Architecture ↓ 👆

    Computer Organization and Architecture 

    EasyExamNotes.com covered following topics in these notes.

    1. Structure of desktop computers
    2. Logic gates
    3. Register organization
    4. Bus structure
    5. Addressing modes
    6. Register transfer language
    7. Direct mapping numericals
    8. Register in Assembly Language Programming
    9. Arrays in Assembly Language Programming

    References:

    1. William stalling ,“Computer Architecture and Organization” PHI
    2. Morris Mano , “Computer System Organization ”PHI

    Computer Network ↓ 👆
    Computer Network

    EasyExamNotes.com covered following topics in these notes.
    1. Data Link Layer
    2. Framing
    3. Byte count framing method
    4. Flag bytes with byte stuffing framing method
    5. Flag bits with bit stuffing framing method
    6. Physical layer coding violations framing method
    7. Error control in data link layer
    8. Stop and Wait scheme
    9. Sliding Window Protocol
    10. One bit sliding window protocol
    11. A protocol Using Go-Back-N
    12. Selective repeat protocol
    13. Application layer
    References:
    1. Andrew S. Tanenbaum, David J. Wetherall, “Computer Networks” Pearson Education.
    2. Douglas E Comer, “Internetworking with TCP/IP Principles, Protocols, And Architecture",Pearson Education
    3. KavehPahlavan, Prashant Krishnamurthy, “Networking Fundamentals”, Wiley Publication.
    4. Ying-Dar Lin, Ren-Hung Hwang, Fred Baker, “Computer Networks: An Open Source Approach”, McGraw Hill.