Functional Dependency

Third Normal Form (3NF)

Learned in CS348.

Haven’t practiced this yet, but this video shows. Transformation to 3NF video.

Third Normal Form (3NF)

Schema is in 3NF with respect to a set of functional dependencies if and only if, whenever and , then either

  • is trivial,
  • is a superkey of , or
  • each attribute of is contained in a candidate key of .

A database schema is in 3NF if each relation schema is in 3NF with respect to .

  • So basically, it is a more flexible version of BCNF, where you can have the LHS not be a candidate key, as long as it functionally determines a candidate key

Computing a 3NF Decomposition