First Normal Form - removal of repeating groups.
Second Normal Form - no non-key attributes must depend on a portion of
the primary key.
Third Normal Form - no attributes must depend on other non-key
attributes.? all attributes depend on key attributes????
Third Normal Form eliminates columns not dependant on a table's primary
key.
First Normal Form
By definition, First Normal Form eliminates repeating groups. What this
means is that a separate table must
be made for each set of related attributes and give each table its own primary
key. The best way to explain
this is by example.
Let us say we have a customer database where customers make orders. In a
spreadsheet we would have the customer
name and address repeated for every order. Application of first normal form
would divide the customers and
orders into two separate entities or tables. The customer table would contain
customer details without order
details and the order table would contain order details with only a reference
to the appropriate
customer.
Second Normal Form
Second Normal Form eliminates redundant data. Thus if an attribute relies
on only part of a multi-valued key,
that attribute must be removed to a separate table. More specifically the
Second normal form requires that
no non-key attributes are dependant upon a portion of the primary key. A
primary key uniquely identifies
a instance within an entity. Second normal form applies to tables where
constituents of the primary key
effectively refer to repeating groups within the same table. These
duplications should be removed
to an additional table. For instance, if a student takes a course then the
course that the student is taking
is uniquely identifed by the student and the course as the primary key. Within
this entitiy we also have
descriptions of the course. Therefore the course decriptions will make up the
contents of the additional
entity and the descriptive details of the course would be removed from the
table containing the student
details. The result would be two tables, one with student details and the
other with course details.
Third Normal Form
Third Normal Form eliminates columns not dependant on a table's primary
key. This translates to the fact that if an attribute does not contribute to the description of a key then
it must be moved to another table. Third normal form requires that all columns in a table contain data about
the entity that is defined by the primary key. In other words each entity should have attributes applicable
to itself only.