Eliminate Repeating Groups( 1NF ) |
In the original member list, each member name is followed by any databases
that the member has experience with. Some might know many, and others might not
know any. To answer the question, "Who knows DB2?" we need to perform an awkward
scan of the list looking for references to DB2. This is inefficient and an
extremely untidy way to store information.
Moving the known databases into a seperate table helps a lot. Separating the
repeating groups of databases from the member information results in first
normal form. The MemberID in the database table matches the primary key in
the member table, providing a foreign key for relating the two tables with a
join operation. Now we can answer the question by looking in the database table
for "DB2" and getting the list of members.
|