View Single Post
  #4  
Old July 25th, 2008, 02:26 PM posted to microsoft.public.access.tablesdbdesign
JWeaver
external usenet poster
 
Posts: 90
Default Analyzing/Normalizing Database

Thanks for the reply!

My table is used to gather payroll information for employees who work with
clients. We gather the information and enter it into the database on a
weekly basis. The dates used are Saturday to Friday, therefore, for whatever
date is submitted I look to see which dates that falls between and use them
for the starting and ending dates. Every employee could have the same dates
entered for the starting and ending dates so these dates repeat throughout
the database for a particular pay period ending date. Here is what my table
looks like now:

PPE Date – Pay period ending date (Every other Friday)
Employee Last
Employee First
Employee #
Employee Pay Rate
Client First
Client Last
Client Program – could be one of 4 programs
Contract Hours – each employee is on a contract that is for a specific
number of hours
Contract Date – the date that the contract ends
From – Starting date for week that employee worked with client
To – Ending date for week that employee worked with client
Hours – Number of hours that employee worked with client during the week
ID – Autonumber field
Dups OK – Sometimes an employee will submit hours for a partial week on one
payroll and more hours for the same week on a different payroll. This field
is used to ensure that it is not the same dates that are being submitted.
Notes – used to make notes about the payroll period for the client/employee

Thanks for your help!!!!!
--
JWeaver


"Graham Mandeno" wrote:

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