Design of database

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

I am new to Access, and have made one large table with around 100 or so
fields. In reading these posts I am getting the impression that I should
have more than one table. If all of my forms and queries work fine, why do I
need more tables?
 
Depends on what you are storing in your 100 or so fields. We really can't
answer without you telling us something about your application.
 
There are reasons for having a large flat database consisting mostly of a
single table. Access gives a lot of flexibility with forms and reports,
which can be very helpful. I have a vendor database consisting of a large
table and quite a few queries to track various expiration dates and such. A
questionaire could also be a single large table.
The question is not so much the number of fields as it is how the database
is designed. Without knowing more about your design it is impossible to
comment. If a key piece of information changes, how many records would you
need to change? More than one? If so, you may need to rethink things.
 
Hi Greg,

Here are some links to get you started on database design:

http://www.datatexcg.com/Downloads/DatabaseDesignTips1997.pdf

http://support.microsoft.com/?id=234208

http://support.microsoft.com/?id=289533

http://www.datadynamicsnw.com/accesssig/downloads.htm
(See the last download titled "Understanding Normalization")

The last link shown above is to a paper written by database design guru
Michael Hernandez. You question is answered in the first pages of this
document. See the section titled "Modification Anomolies", which starts on
the bottom of page 2.

A table should represent a single subject! You massive table likely has
many-to-many relationships built within it. If you need to track a new
attribute that is similar to other attributes that you are already tracking,
your one-table design will require that you add yet another field. That means
that you'll have the pleasure of having to modify any queries, forms, and
reports in order to display your new attribute. A good rule of thumb to
remember is the following:

"Records are cheap. Fields are expensive".

In other words, if your database design requires that you add field(s) to
track similar data to what you are already tracking (monthly sales, for
example, with fields named: Jan2005, Feb2005, Mar2005, Apr2005, May2005,
etc.) this should be a big red flag. Your design should allow similar data to
be entered without requiring design changes to any objects in the database.

Don't underestimate the importance of gaining a good understanding of
database design. Brew a good pot of tea or coffee and enjoy reading!

Tom

http://www.access.qbuilt.com/html/expert_contributors.html
_______________________________

:

I am new to Access, and have made one large table with around 100 or so
fields. In reading these posts I am getting the impression that I should
have more than one table. If all of my forms and queries work fine, why do I
need more tables?
 
Thanks to all three of you for taking the time to read my question. It seems
as if I need to study up on data base design.
 
Hi Greg,

I forgot to mention--although it is included in the various database design
papers that I provided links to--that other advantages of proper database
design include:

1.) Easier data entry. You can provide combo boxes on forms, so that people
can pick from lists, instead of having to type in the value each time. Later
on, if you need to change the spelling of an item in the list, you will only
need to edit a single record in the lookup table.

Notes:
I recommend using autonumber primary keys in all tables, including your
lookup tables. Store the key value as a long integer foreign key--not the
text itself--in the table that is child to the lookup table.

I do not recommend using lookup fields at the table level.

2.) Less chance of misspelled data, which can result in inaccurate query
results. You have less chance of misspelled data when a person can pick a
value from a list, instead of having to type it in each time. In Access,
click on Tools > Analyze >Table. Read the first screen of the table analyzer
wizard: "The Table Analyzer / Looking at the problem."

Search your hard drive for a sample database called "Northwind.mdb". Open
the Orders form. The ability to pick a customer from a combo box is easily
provided by having customer information in a separate table. Note that this
sample provides plenty of examples of table lookups, which are seen by many
as a creation of the evil one. See the second commandment shown here:

http://www.mvps.org/access/tencommandments.htm


Tom
_______________________________

:

Thanks to all three of you for taking the time to read my question. It seems
as if I need to study up on data base design.
_______________________________

:

Hi Greg,

Here are some links to get you started on database design:

http://www.datatexcg.com/Downloads/DatabaseDesignTips1997.pdf

http://support.microsoft.com/?id=234208

http://support.microsoft.com/?id=289533

http://www.datadynamicsnw.com/accesssig/downloads.htm
(See the last download titled "Understanding Normalization")

The last link shown above is to a paper written by database design guru
Michael Hernandez. Your question is answered in the first pages of this
document. See the section titled "Modification Anomalies", which starts on
the bottom of page 2.

A table should represent a single subject! Your massive table likely has
many-to-many relationships built within it. If you need to track a new
attribute that is similar to other attributes that you are already tracking,
your one-table design will require that you add yet another field. That means
that you'll have the pleasure of having to modify any queries, forms, and
reports in order to display your new attribute. A good rule of thumb to
remember is the following:

"Records are cheap. Fields are expensive".

In other words, if your database design requires that you add field(s) to
track similar data to what you are already tracking (monthly sales, for
example, with fields named: Jan2005, Feb2005, Mar2005, Apr2005, May2005,
etc.) this should be a big red flag. Your design should allow similar data to
be entered without requiring design changes to any objects in the database.

Don't underestimate the importance of gaining a good understanding of
database design. Brew a good pot of tea or coffee and enjoy reading!

Tom

http://www.access.qbuilt.com/html/expert_contributors.html
_______________________________

:

I am new to Access, and have made one large table with around 100 or so
fields. In reading these posts I am getting the impression that I should
have more than one table. If all of my forms and queries work fine, why do I
need more tables?
 
Hi Greg,

Send me an email to (e-mail address removed) anjd I will send you a
screenshot of a tool I use to design the table structure of a database.
 
Back
Top