All the examples will use this simple table for explanation.
Attribute is column, and tuple is row. In this table the attributes are from A to F.
A is determinant, B is dependant.
B is functional dependent on A.
A and B are composite key which functionally determines C.
Partially functional dependency
A and B are candidate keys, but C is dependent only to A. This is partially functional dependent.
Transitive functional dependency
F is dependent on D, but D is not part of candidate key.
E and F dependent on D, but D is not part of candidate key.
Normalisation is to remove duplicates. Duplicates or redundant values in a database will create problems. These problems are:
Update anomaly, deletion anomaly, and insert anomaly.
To qualify for 1NF these are the requirements:
a. Attributes must be unique.
b. Values in tuple must be atomic i.e. no multiple values, only one value.
c. Values in tuple must be the same domain. Example if the attribute is date, the value must be date related.
2NF must have the qualification of 1NF and in addition must not have attributes that are partially functional dependent.
Example of 2NF
A and B determine C, A determine B, no partially dependent.
3NF must be qualified for 2NF, and must not have attribute(s) is/are dependent on another non-key attribute(s) i.e. no transitive dependency