The Lesser Known Normal Forms of Database Design

  • 1st Normal Form: The database contains at least one table that is an exact copy of another table, except with additional columns.
  • 2nd Normal Form: The database contains at least one table that is a corrupt, out-of-date copy of another table, except with additional columns. It is impossible to determine if these additional columns can be trusted.
  • 3rd Normal Form: The database contains at least one table whose name contains the string _v1 and another table whose name contains the string _v2. At least one column in the _v1 table must be an undeclared foreign key that refers to rows that no longer exist in any other table.
  • 4th Normal Form: The database contains at least one table that has two or more columns whose contents are exactly the same, except that one of the columns has a name that is a misspelling of the other column’s name.
  • 5th Normal Form: The database contains (A) at least one table whose name contains the string do_not_use and (B) at least one other table whose name contains the string do_not_ever_ever_use. In each of these tables separately, at least two columns must only contain NULL’s repeated for every single row. In addition, every string in these tables must have random amounts of whitespace padded on the left- and right-hand sides. Finally, at least one row must contain the text, “lasciate ogni speranza, voi ch’entrate.”