Hi all!
I'm having a problem finding a way to design my database. I'm making a database for the quality assurance dept. at a local packaging plant. They want a database to store all of their test data.
As of right now, there are approximately 36 different tests and there may be an unknown number of additional tables in the future. Each test requires multiple rows. All of these tests obviously relate to a single "job" table that holds general information about the testing session.
Another big issue is that each test requires some static information about that particular test. Such as required specifications, test method and frequency of testing. I should note that about 90% of these info tables are exactly the same. I decided to split all these tables because I want the option of adding static fields to these tests. Although if there is an alternate way that's better, I'm all ears.
Before the jobs table is the usual cutomers, suppliers and products table. Here is my current basic relationship design.
Customers,Suppliers,Products 1-M> Jobs 1-1> TestInfo 1-M> Tests
Now then, I was wondering if someone could tell me how I can efficiently design the tables. There are about 3 different reports that call different tests for different customers and all that stuff. Obviously, there may be more reports in the future.
I have been toying with the design for almost a month now and I'm getting desperate. I thought my current system would work but queries are slow (i attribute this to a text primary key instead of an autonumber I was using which I will be changing soon but i'm not 100%) and I ran into the jobs table only being able to have 32 indexes (due to all the related tables). Obviously, I need all the tables below jobs to cascade delete.
Phew. Sorry about the length but I wanted to be as detailed as possible to avoid confusion. Please, any advice would be very helpful. I know there has to be a more efficient way to do this. This isn't a ridiculous database concept so there must be a feature in Access I'm missing or something.
Thanks in advance!
- Mark
I'm having a problem finding a way to design my database. I'm making a database for the quality assurance dept. at a local packaging plant. They want a database to store all of their test data.
As of right now, there are approximately 36 different tests and there may be an unknown number of additional tables in the future. Each test requires multiple rows. All of these tests obviously relate to a single "job" table that holds general information about the testing session.
Another big issue is that each test requires some static information about that particular test. Such as required specifications, test method and frequency of testing. I should note that about 90% of these info tables are exactly the same. I decided to split all these tables because I want the option of adding static fields to these tests. Although if there is an alternate way that's better, I'm all ears.
Before the jobs table is the usual cutomers, suppliers and products table. Here is my current basic relationship design.
Customers,Suppliers,Products 1-M> Jobs 1-1> TestInfo 1-M> Tests
Now then, I was wondering if someone could tell me how I can efficiently design the tables. There are about 3 different reports that call different tests for different customers and all that stuff. Obviously, there may be more reports in the future.
I have been toying with the design for almost a month now and I'm getting desperate. I thought my current system would work but queries are slow (i attribute this to a text primary key instead of an autonumber I was using which I will be changing soon but i'm not 100%) and I ran into the jobs table only being able to have 32 indexes (due to all the related tables). Obviously, I need all the tables below jobs to cascade delete.
Phew. Sorry about the length but I wanted to be as detailed as possible to avoid confusion. Please, any advice would be very helpful. I know there has to be a more efficient way to do this. This isn't a ridiculous database concept so there must be a feature in Access I'm missing or something.
Thanks in advance!
- Mark