Red alert, red alert, red alert....
When I hear ...
I have reached the maxium fields for a table
... I immediately ask my self is the database normalized??
This question is asked fairly frequently in this forum where a person asks how they can create more than the 255 fields allowed in a table design.
The most common best answer is -- don't.
It is your database, but you may be setting your self up for a lot of "hurt" later on.
Example:
A shift supervisor sets up a database for tracking regular and over time work, and wants to track the day of the week the OT occurred on.
Perhap a design would be ...
tblHoursWorked
EmployeeID
EmployeeName
EmployeePhone
EmployeePosition
WeekOfYear
StartOfWeekDate
MondayRegularHrs
MondayOTHrs
TuesdayRegularHrs
TuesdayOTHrs
etc...
One big honking table to track everything.
There are several problems with this...
- Every week, you have to re-enter the employee info
- You have to enter numerous amount of info for regular and OT hours, etc.
There are over issues too.
- This table is a nightmare to maintain. Suppose you need to include the CellPhone number. Now you have to edit the table design, edit all the affected forms, queries and reports -- a lot of overhead for a simple change.
- Your queries become extremely complicated -- 100's or 1000,s of characters long. Your WHERE clauses become incredibly long.
- Displaying data as useful information becomes very tough. Because of the maintenance issues mentioned, the chance of errors can be high.
...Oh yea, a common issue where this "not enough fields" problem crops up is when some one designs a "Survey" database or similar where each field is a question.
The whole idea on using a relational database is to capitalize on the power of relations -- enter an employe name once, track only info required, simplified queries, ease of use to gather data and present accurate and useful information.
There is some standard set of documents to read on Normalization and Relationships...
Fundamentals of Relational Database Design by Paul Litwin
Download document
Read document on-line (HTML)
Micro$oft's answer...
283878 - Description of the database normalization basics
304467 - ACC2000 Defining Relationships Between Tables in a Microsoft Access Database
Yet another source...
Introduction to Relational Databases - Part 1: Theoretical Foundation (15 seconds)
Basically, Normalization is a well researched and developed concept with proven results.
Good luck
Richard