A coworker sketched out the values of a new table as:
"Foo", "some value 1"
"Foo", "some value 2"
"Foo", "some value 3"
"Bar", "some value 3"
These are the only columns in the table. The column names are Col1, Col2.
One person said that this table is not normalized, another said it is.
The specific argument that it violated normalization is that removing the three records with "Foo" in Col1 "Foo" would no longer be present in the system. That person said there should be a lookup table containing an ID, and Name column. The table above would reference the Id of that table as its FK.
The argument that it wasn't normalized is that there wasn't a third column in the table dependent on the first (3rd normalized form).
The confusion I think comes from it being 1NF in that it satisfies this example:
Customer Tr. ID Date Amount
Jones 12890 14-Oct-2003 -87
Jones 12904 15-Oct-2003 -50
Wilkins 12898 14-Oct-2003 -21
Stevens 12907 15-Oct-2003 -18
Stevens 14920 20-Nov-2003 -70
Stevens 15003 27-Nov-2003 -60
from http://en.wikipedia.org/wiki/Database_normalization.
But it sounds like it violates this rule, "The same information can be expressed on multiple rows; therefore updates to the table may result in logical inconsistencies." This applies to normalization beyond 1NF.
So it looks like the original table would violate 2NF, and thereby 3NF, but would satisfy 1NF. Is this correct?