What is normalization?
--Normalization is a technique of database design that suggests that certain
criteria be used when constructing a table layout (deciding what columns each table will have, and
creating the key structure), where the idea is to eliminate redundancy of non-key data across tables.
Normalization is usually referred to in terms of forms, and I will introduce only the first three, even
though it is somewhat common to use other, more advanced forms (fourth, fifth, Boyce-Codd; see
First Normal Form refers to moving data into separate tables where the data in each table is of a
similar type, and by giving each table a primary key.
Putting data in Second Normal Form involves removing to other tables data that is only dependent of a
part of the key. For example, if I had left the names of the Antique Owners in the items table, that would
not be in Second Normal Form because that data would be redundant; the name would be repeated for
each item owned; as such, the names were placed in their own table. The names themselves don't have
anything to do with the items, only the identities of the buyers and sellers.