View Single Post
  #3  
Old July 24th, 2008, 10:13 PM posted to microsoft.public.access.tablesdbdesign
Graham Mandeno
external usenet poster
 
Posts: 593
Default Analyzing/Normalizing Database

Hi JWeaver

The Table Analyzer Wizard tries its best to do a good job, but it does not
understand your data like you do, so there is really no substitute for
sitting down with a pencil and a large sheet of paper ;-)

You start by grouping all your data fields into logical entities. Each
entity becomes a table. Every field which contains data that is a a direct
attribute of an entity belongs in that table.

For example, an employee's name, address, date of birth, SSN, etc are all
direct attributes of an employee, so belong in the Employees table.
However, the name, address and phone number of the employee's company are
all *indirect* attributes, so they belong in another table - the Companies
table - with a one-to-many relationship to Employees.

It's often said that a good database is like Grandma's pantry - a place for
everything and everything in its proper place. Try to design a pantry for
your data and see how you get on. If you need more help, post back here
with a list of all your tables and fields and a brief description of each
field (unless the name makes it obvious, like "EmployeeLastName").
--
Good Luck :-)

Graham Mandeno [Access MVP]
Auckland, New Zealand

"JWeaver" wrote in message
...
I created a database based on one that the office already had. There is
one
table that contains everything instead of several tables therefore some
information is repeated over and over again in each record. I want to
make
this database better by getting it "Normalized" so that there is one table
for Employee Info, one for Client Info, one for Payroll Info, etc.

I used the Analyze Table function to separate the big table into smaller
tables. This seems to work OK if I only have a few tables but if I try to
separate them into a lot of different tables for those small pieces of the
table that are different, I get a MaxLocksPerFile error. Even if I
increase
this number in the Registry I get the same error so I gave up.

When Access separates the tables, and I go to the subsequent steps, it
seems
that there are a great deal of records that show up that it believes has
related data and I have to delete out its proposed correction. If I
separate
the table, I don't have to do this as much.

This database is used to gather payroll information. Therefore, some
fields
(like Start Date and End Date) are the same for every employee during a
billing period. How finely should I separate the table to make it better?
If I need to add a record, do I need to add info to all tables or would I
be
able to add it to one table and the other tables would fill in
automatically
based on the lookup fields?

Your help in getting this database normalized would be appreciated!!

--
JWeaver