Total normalizing 'a must'?

E

elli

Hello everybody

I'm working on a database that tracks all the hardware of our computers.
Everything I've done so far seems to work fine, but some questions rised to
my mind.

I need a field for inventory. There's no need for anything else but the date
when when the piece was 'inventoried'. No need saving old dates etc.
Next year when the new inventory comes, the old date can just be replased.
So is it totally wrong not making a new table with InventoryID,
InventoryDate?

The db also keeps track on what 'net' the CPU is in. There are four 'Nets'
and one machine can be in several or in none of those. Now I just have four
field for nets with a yes/no. Seems to me that making a table for every net
with just one boolean field is useless, while having four yes/no field in
the main table does the same...

Any adwise or help?

Sorry my bad english and messy questions...
A non-englishspeaking-access-newbie here...
 
J

Joan Wild

elli said:
I need a field for inventory. There's no need for anything else but
the date when when the piece was 'inventoried'. No need saving old
dates etc.

I see no reason for a separate table, given your requirements.
The db also keeps track on what 'net' the CPU is in. There are four
'Nets' and one machine can be in several or in none of those. Now I
just have four field for nets with a yes/no. Seems to me that making
a table for every net with just one boolean field is useless, while
having four yes/no field in the main table does the same...

But you wouldn't make a separate table for each net. You should make a
single separate table with
CPUid
NetName

This table would have a record for each net that the CPU is in. If it isn't
in Net3 than there wouldn't be a record with that. So data would look like
123 Net1
123 Net2
123 Net4
 
J

Jerry Whittle

No need to apologize for your English. You communicated your question very
well.

Total normalization to the Fifth Normal Form is not a must. In fact you'd be
lucky to get a database to run if you went that far. Third Normal Form is
usually good enough and even then there is some wiggle room. Often when
designing a database you first look to the ideal then denormalize, or
roll-up, to get things to work.

The database needs to meet the business rules for the program that it is
supporting plus be flexible enough to change. For example the 4 check boxes.
That will work now, but what happens when someone needs a 5th or 6th Net? If
you add another field to the table, you will need to modify all your reports,
forms, and queries that use the table. In the long run it's better to design
for flexibility. I've been told more than once that the business rule was
chiseled in stone only to have someone change the rules later.

There is now need for an inventory date today; however, what happens when
the new boss comes in? If you fall into the trap of a new table or database
each year, someone will eventually want to compare and contrast data from the
various years.
 
S

Stephen Glynn

Indeed. I was wondering about the legal implications of getting rid of
the inventory date; surely you'll need to keep historical records for
the auditors and for tax purposes.
 
E

elli

Hi there!
Thanks Joan, Jerry and Steven for Your help and opinions....
I'll get into it.

Take care

-elli-
 
Top