I wish there was code that did that. In my experience, developing the DB design and writing code are the easy part. The hard part is working with pre-exsisting data....
As far as normalization:
1. If you have data in columns, (I.E., Point of contacts, POC1, POC2, POC3, POC4...)this is a candidite. Take the data in the columns and add them to a new table, relate them in some way back to your main table using a primary key.
2. Any single record that contains multiple values must also be split into a seperate record for each table. I.E. Jim Smith,1234 Anywhere, Somewhere USA would of course be in a table with Name, CIty, State & Zip as fields.
3. Never store calculated values. You can always calculate tem laterin a query or code.
4. Anytime you see repeating data, that is an indication that the table can be further normalized. In other words, if you had the sample data in example 2 along with order IDS, then you would take all the address data out and relate it using an Address ID.
There are many books on the subject. Most likely quite a few articles on the web also.
Tyrone Lumley
augerinn@gte.net