H
HeislerKurt
I'm seeking advice on how to relate tables for a database to track
survey attempts for a teacher survey project. (I don't need to store
survey answers, which is what most of the survey database examples
focus on.)
Teachers at four schools will complete two surveys, SurveyABC and
SurveyXYZ. They will need to complete each one 2 times - once at the
beginning of the semester (Pre), and once at the end of the semester
(Post). To increase the response rate, each survey may be sent
multiple times (e.g., 2nd attempt, 3rd attempt, etc.) to non-
responders. This process will be repeated for 2 more years. For
example, in Year 1 Mr. Smith at Brown Elementary will complete:
1. Survey ABC (Pre)
2. Survey ABC (Post)
3. Survey XYZ (Pre)
4. Survey XYZ (Post)
He will complete these again in Year 2, and again in Year 3. And it
may have taken multiple attempts to get him to complete each one.
Over the course of the project, I need to record the following for
each survey attempt, for each teacher:
1. The survey year (Year 1, 2, or 3)
2. The type of survey sent (e.g, Survey ABC & Survey XYZ)
3. The version sent (e.g., Pre vs Post)
4. The history of attempts (e.g., 1st attempt, 2nd attempt, etc.)
5. The date sent
6. The outcome (returned/not returned) by a deadline
At the end of Year 1 Mr. Smith's data might look like this:
- Year 1 | Survey ABC | Pre | 1st Attempt | 1/1/08 | Not Returned
(send follow-up)
- Year 1 | Survey ABC | Pre | 2nd Attempt | 2/1/08 | Returned (done)
- Year 1 | Survey XYZ | Pre | 1st Attempt | 1/1/08 | Returned (done)
- Year 1 | Survey ABC | Post | 1st Attempt | 6/1/08 | Returned (done)
- Year 1 | Survey XYZ | Post | 1st Attempt | 6/1/08 | Not Returned
(send follow-up)
- Year 1 | Survey XYZ | Post | 2st Attempt | 7/1/08 | Returned (done)
This is a screenshot of the relationship structure I've come up with:
http://img132.imageshack.us/img132/3421/teachersurveydy2.jpg
Although I think this will meet the basic needs, it's not completely
normalized (the relationship between tblTeacherSurveys and
tblTeacherSurveyAttempts is indeterminate). This could cause problems
in the future with queries to track return rates for different phases
of the project, surveys, etc.. Any suggestions?
Thanks.
Kurt
survey attempts for a teacher survey project. (I don't need to store
survey answers, which is what most of the survey database examples
focus on.)
Teachers at four schools will complete two surveys, SurveyABC and
SurveyXYZ. They will need to complete each one 2 times - once at the
beginning of the semester (Pre), and once at the end of the semester
(Post). To increase the response rate, each survey may be sent
multiple times (e.g., 2nd attempt, 3rd attempt, etc.) to non-
responders. This process will be repeated for 2 more years. For
example, in Year 1 Mr. Smith at Brown Elementary will complete:
1. Survey ABC (Pre)
2. Survey ABC (Post)
3. Survey XYZ (Pre)
4. Survey XYZ (Post)
He will complete these again in Year 2, and again in Year 3. And it
may have taken multiple attempts to get him to complete each one.
Over the course of the project, I need to record the following for
each survey attempt, for each teacher:
1. The survey year (Year 1, 2, or 3)
2. The type of survey sent (e.g, Survey ABC & Survey XYZ)
3. The version sent (e.g., Pre vs Post)
4. The history of attempts (e.g., 1st attempt, 2nd attempt, etc.)
5. The date sent
6. The outcome (returned/not returned) by a deadline
At the end of Year 1 Mr. Smith's data might look like this:
- Year 1 | Survey ABC | Pre | 1st Attempt | 1/1/08 | Not Returned
(send follow-up)
- Year 1 | Survey ABC | Pre | 2nd Attempt | 2/1/08 | Returned (done)
- Year 1 | Survey XYZ | Pre | 1st Attempt | 1/1/08 | Returned (done)
- Year 1 | Survey ABC | Post | 1st Attempt | 6/1/08 | Returned (done)
- Year 1 | Survey XYZ | Post | 1st Attempt | 6/1/08 | Not Returned
(send follow-up)
- Year 1 | Survey XYZ | Post | 2st Attempt | 7/1/08 | Returned (done)
This is a screenshot of the relationship structure I've come up with:
http://img132.imageshack.us/img132/3421/teachersurveydy2.jpg
Although I think this will meet the basic needs, it's not completely
normalized (the relationship between tblTeacherSurveys and
tblTeacherSurveyAttempts is indeterminate). This could cause problems
in the future with queries to track return rates for different phases
of the project, surveys, etc.. Any suggestions?
Thanks.
Kurt