Functional dependency (FD) is a property of the information represented by the relation.Functional dependency allows the database designer to express facts about the enterprise that the designer is modeling with the enterprise databases. It allows the designer to express constraints, which cannot be expressed with super keys. Functional dependency is a term derived from mathematical theory, which states that for every element in the attribute (which appears on some row), there is a unique corresponding element (on the same row).
Let us assume that rows (tuples) of a relational table T is represented by the notation r1 ,r2 ,…….., and individual attributes (columns) of the table is represented by letters A, B,…. The letters X, Y , ….., represent the subsets of attributes.
Thus, as per mathematical theory, for a given table T containing at least two attributes A and B, we can say that A -> B. The arrow notation '->' is read as "functionally determines".
Thus, we can say that, A functionally determines B or B is functionally dependent on A. In other words, we can say that, given two rows R1,and R2, in table T, if R1(A)=R2(A) then R1(B)=R2(B).
The attributes in subset A are sometimes known as the determinant of FD: A -> B.
The left hand side of the functional dependency is sometimes called determinant whereas that of the right hand side is called the dependent. The determinant and dependent are both sets of attributes. A functional dependency is a many-to-one relationship between two sets of attributes X and Y of a given table T. Here X and Y are subsets of the set of attributes of table T. Thus, the functional dependency X -> Y is said to hold in relation R if and only if, whenever two tuples (rows or records) of T have the same value of X, they also have the same value for Y.