A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Access » Database Design
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

How do I normalize this?



 
 
Thread Tools Display Modes
  #1  
Old April 14th, 2009, 02:10 PM posted to microsoft.public.access.tablesdbdesign
Nick X
external usenet poster
 
Posts: 66
Default How do I normalize this?

Hello,
I guess the question is, what is the best way to organize this data. I
inherited this database years ago and have been afraid to change how things
have always been done:

1. Last years table is renamed table Previous Year (the table named
table Previous Year is renamed table year)
2. A copy of last years data is then gone over with a fine tooth comb in the
current year table and unecessary records are deleted

This database is used (very effectively but not very effeciently ) as a
vessel for mail merge. Previous years need to be kept for legal purposes.
Any ideas?

Thanks,
nick
  #2  
Old April 14th, 2009, 02:36 PM posted to microsoft.public.access.tablesdbdesign
Fred
external usenet poster
 
Posts: 1,451
Default How do I normalize this?

Nick,

This has to start with you making a detailed decision of what information
you want to store. "Information" isn't information unless it answers a
question / serves a purpose.

The "information" contained in those old tables includes:

1. (existence of a record indicates) whether or not they were "on the list"
that year.

2. The person's data as of (the end of) that year. For example, the 2006
list might have Joe's address where he lived in 2006 before he moved.

If the "#2" "Information" really is information that is useful or required,
then your current plan is a pretty good one and is probably normalized. I
say "probably" because if you have data on individuals which which either
spans years or NEVER changes, full normalization would dictate separating
that.

Even if #2 needs to be retained, here's another idea. Just add a field for
each year, and put a "Y" in that field if th record is on the list that year.
(this does not meet, but in my opinion is better than 100% normalization).
And just update the information on an ongoing basis. Then just save copies
copies of the entire database. Might "waste" 2 cents worth of hard drive
space and save you 1000 times that in time. This also works if #2 is not
required, with less need for the copies.






  #3  
Old April 16th, 2009, 05:02 AM posted to microsoft.public.access.tablesdbdesign
Armen Stein
external usenet poster
 
Posts: 507
Default How do I normalize this?

When you need to add a table just due to the passing of time (i.e. a
table for each year), then your database isn't normalized. It makes
forms and reports more complex, and also makes querying multiple-year
data more difficult (requiring Union queries and design changes each
year).

As Fred suggests, adding a Year column to the table is a reasonable
first step.

Armen Stein
Microsoft Access MVP
www.JStreetTech.com

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 01:19 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.