T
tlyczko
I have an audits database, with several tables,
tblAudits -- overall information about each audit, like who is doing
the audit, the date, where, etc.
AuditID is the primary key in this table.
tblProgramAudits -- unique information about program audits
tblRecordAudits -- unique information about a different kind of audit
tblMSCAudits -- unique info about yet another kind of audit
AuditID is a foreign key in all these three tables.
The above three tables have additional fields specific to the kind of
audit, so they have to be separate tables.
tblResponses to store audit responses for each kind of audit
ResponseID PK
AuditID FK
ProgramAuditID FK
RecordAuditID FK
QuestionID (comes from tblQuestions)
ResponseText (yes, no, n/a)
MSCProgramAuditID FK
MSCRecordAuditID FK
QuestionType -- program, record, MSC audit question?? -- probably don't
need to store this because a separate append query will create the
necessary response records ahead of time, end user only has to enter
the response text.
Is it better to use just one tblResponses to store all the audit
responses, or should I have separate response tables for each kind of
audit, such as tblProgramAuditResponses, tblRecordAuditResponses,
tblMSCAuditsResponses???
for example tblRecordAuditResponses would have
RecordAuditResponseID PK
AuditID FK
RecordAuditID FK
QuestionID
ResponseText
(don't need to store the QuestionType)
Would the DB scale better and work better with queries etc. with just
one tblResponses or should I have separate responses tables?? (It would
be more work to set up queries relative to three different response
tables, of course.)
I expect max 1-2 users editing and 3-5 users reading at the most, but
the response tables will fill up FAST -- 60-80 responses per program
audit, several hundred responses per record audit.
This will be a split DB, front end on end user's Citrix desktop,
backend on another server in the same room/LAN with the Citrix servers,
it may be necessary some day to port to SQL server, but for now
Access/Jet will work.
Also, for the tblResponse's foreign keys (e.g. ProgramAuditID), is it
better to have the table and forms default those values to Null or to 0
(zero)??? AuditID will always be in each row of tblResponses, but only
one of the other kinds of audit ID fields will have a value.
Another reason I ask about all this is that everything I learn with
this DB I will apply to creating a whole other DB with the same kinds
of usage patterns but completely different data.
Thank you, Tom
tblAudits -- overall information about each audit, like who is doing
the audit, the date, where, etc.
AuditID is the primary key in this table.
tblProgramAudits -- unique information about program audits
tblRecordAudits -- unique information about a different kind of audit
tblMSCAudits -- unique info about yet another kind of audit
AuditID is a foreign key in all these three tables.
The above three tables have additional fields specific to the kind of
audit, so they have to be separate tables.
tblResponses to store audit responses for each kind of audit
ResponseID PK
AuditID FK
ProgramAuditID FK
RecordAuditID FK
QuestionID (comes from tblQuestions)
ResponseText (yes, no, n/a)
MSCProgramAuditID FK
MSCRecordAuditID FK
QuestionType -- program, record, MSC audit question?? -- probably don't
need to store this because a separate append query will create the
necessary response records ahead of time, end user only has to enter
the response text.
Is it better to use just one tblResponses to store all the audit
responses, or should I have separate response tables for each kind of
audit, such as tblProgramAuditResponses, tblRecordAuditResponses,
tblMSCAuditsResponses???
for example tblRecordAuditResponses would have
RecordAuditResponseID PK
AuditID FK
RecordAuditID FK
QuestionID
ResponseText
(don't need to store the QuestionType)
Would the DB scale better and work better with queries etc. with just
one tblResponses or should I have separate responses tables?? (It would
be more work to set up queries relative to three different response
tables, of course.)
I expect max 1-2 users editing and 3-5 users reading at the most, but
the response tables will fill up FAST -- 60-80 responses per program
audit, several hundred responses per record audit.
This will be a split DB, front end on end user's Citrix desktop,
backend on another server in the same room/LAN with the Citrix servers,
it may be necessary some day to port to SQL server, but for now
Access/Jet will work.
Also, for the tblResponse's foreign keys (e.g. ProgramAuditID), is it
better to have the table and forms default those values to Null or to 0
(zero)??? AuditID will always be in each row of tblResponses, but only
one of the other kinds of audit ID fields will have a value.
Another reason I ask about all this is that everything I learn with
this DB I will apply to creating a whole other DB with the same kinds
of usage patterns but completely different data.
Thank you, Tom