Normalization

1NF scopes to no relationship, 2NF & 3NF to one-to-many relationship, and 4NF & 5NF to many-to-many relationship.

Every column must depend on the Key (1NF), the whole Key (2NF) and nothing but the key (3NF)

Functional Dependency: X is said to be functionality dependent on Y if the value of X is always the same for a given value of Y. For example, employee name is functionality dependent on employee ID.

Transistive Dependency: A fact about a non-key field. For example, if the employee table include employee name, extension and office and and building table includes extension and office, then we could get extension from employee.office => building.extension as well as through employee.extension (i.e we'd have to update the phone number in two places). In this example, employee.extension is trasistive because its actually a fact associated about employee.office not employee.name.