When designing a relational database schema, there are several schemas are possible:
Relational database design ultimately produces a set of relations. The implicit goals of the design activity are information preservation and minimum redundancy.
A functional dependency (or FD for short), denoted by,
$$ X \to Y $$
expresses semantic information on two set of attributes, $X$ and $Y$. We can say:
A functional dependency is a property of the relation schema $R$. Consider the following table of data of the relational schema $R(A, B, C, D)$.
Figure 14.1 A relation $R(A, B, C, D)$ with its extension.
For the following figure, the following FDs may hold: