3NF, or Third Normal Form, is a database normalization rule that states that a relation is in 3NF if every non-prime attribute of R is fully functionally dependent on every key of R.
A non-prime attribute is an attribute that is not part of the primary key of the relation. A functional dependency is an constraint that states that the value of one attribute determines the value of another attribute in the relation. A full functional dependency is a type of functional dependency where the dependency holds for all possible values of the determinant attribute.
In other words, a relation is in 3NF if every non-prime attribute is dependent on the entire primary key and not just a part of it. Additionally, if a non-prime attribute depends on a non-key attribute then it violates 3NF.
A relation is said to be in 3NF if it is already in 2NF and there are no transitive functional dependencies, meaning that if A->B and B->C, then A->C should not exist.
In summary, the 3NF states that every non-prime attribute should be fully functionally dependent on every key of R.