Full Version: Database Analysis and Table Relationships
UtterAccess Discussion Forums > Microsoft® Access > Access Tables + Relationships
Tomo1
I've been asked to provide a technical analysis of a database with a view to providing a spec for a redesign.

The existing database doesn't appear to have any relationships set up under Tools--> Relationships. The database monitors a sequential process. Surely there should still be relationships set up? Would there ever be a time when they wouldn't be necessary?

There are separate tables for each step in the process. Surely when information repeats, such as Comments fields, there should be a general comments table for all comments, irrespective of step. When the process starts a record is pasted into each step table for that process. Is this good or bad practice? I would have thought that a process should only exist at a step where actual data has been input for that step, not a blank template, if you will.

Any other thoughts on database analysis would be greatly appreciated, as would any advice on database specification - its a cloudy line between specification and design????
dannyseager
QUOTE
The database monitors a sequential process. Surely there should still be relationships set up? Would there ever be a time when they wouldn't be necessary?


only if the tables do not relate to each other in anyway... if that's the case though then I can't see the need for a DB at all.

QUOTE
There are separate tables for each step in the process. Surely when information repeats


You're right. it should be in 1 table

QUOTE
When the process starts a record is pasted into each step table for that process. Is this good or bad practice? I would have thought that a process should only exist at a step where actual data has been input for that step, not a blank template, if you will.


Is there ever a case when 1 step might not be carried out? if so then it's rendundant records. If a step will never be missed then it's probably not a problem but it's certainly not the best way of doing it.
Tomo1
Thanks, Danny.

The steps are related - the process is analogous to Test,Approve/Decline, Re Test, Approve, Sign Off with a bit more detail.

The database logs faults on machines and the outcome of testing/re-retesting etc. There are many, many records and it all needs to be highly secure. So I believe a database is the best way.

Some of the steps might be skipped and therefore there would be no data in some fields if it was skipped - so I think the record for the step should be created when the previous step gets approved. I agree that I didn't think it was the best way of doing it but I presume the real reason behind this is to keep the data size down?
Tomo1
The existing database uses an unbound form to create the first step record. Presumably this is good practice as no data is written to the tables until the record is complete. As the database will be used remotely this should minimise data transfer I presume.

Is this a correct assumption and are there any pitfalls to doing it this way??
dannyseager
The danger with using an unbound form is that if it fails a user could have input all that data for nothing...

Now you would error trap it to see why it has failed but if it were bound and some data was entered incorrectly it would be picked up immediatly and as such the user wouldn't have "wasted" all that time if they could no longer to procede.

In your situation I would say that yes using an unbound form would be for the best, then open up a recordset (or several) to save the data to the table.
Tomo1
Thanks again, Danny, that clarifies my line of thought.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.