Page Navigation: [ Forms of normalization | Additional normalization tips ]
Steve Litt is the author of
the
Universal Troubleshooting Process
Courseware, He is also the author of Troubleshooting Techniques of the Successful
Technologist, |
Second Normal Form:
Each column must depend on the *entire* primary key. As an example,
the customer information could be put in the line item table (see above).
The trouble with that is that the customer goes with the invoice, not with
each line on the invoice. Putting customer information in the line item
table will cause redundant data, with it's inherant overhead and difficult
modifications. Second form normalization requires you place the customer
information in the invoice table (see below).
Third Normal Form:
Each column must depend on *directly* on the primary key. As
an example, the customer address could go in the invoice table (see above),
but this would cause data redundancy if several invoices were for the same
customer. It would also cause an update nightmare when the customer changes
his address, and would require extensive programming to insert the address
every time an existing customer gets a new invoice. Third form normalization
requires the customer address go in a separate customer table with its
own key (customer), with only the customer identifier in the invoice table
(see below).
[ Troubleshooters.Com | Top of page | Home page | Email Steve Litt ]
Use non-meaningful primary
keys
If employee numbers starting with C mean the person's stationed in
Chicago, and the person moves to Los Angeles, what do you do with his employee
number. Making primary keys non-meaningful means changes in environment
or business rules can't render them ineffective.
[ Troubleshooters.Com | Top of page | Home page | Email Steve Litt ]
Copyright (C)1995, 1996 by Steve Litt. See the copyright notice for any restrictions on access and reuse of information provided in the Litt's Tips web pages.