Share via

How to set up and compare pre/post test answer data?

Anonymous
2013-01-15T00:50:43+00:00

I'm designing a database from scratch, and I know that setting up the design is one of the most important parts of getting started.

I have a group of students, and I want to compare their pre and post tests answers. The tests are 20 questions asking the kids to rank a characteristic (strongly agree, agree, neutral, disagree, strongly disagree), and the pre and post tests are identical. What would be the best way to organize the data in tables?

I have one table for student information (name, age, etc), and I'm confused on how to set up a table for the tests.  Should I do one table for pre-test and one for post test? Should I just have one table for tests and have a field designating pre/post? Which would be easiest to run analysis on?

Thank you so much!

Microsoft 365 and Office | Access | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

9 answers

Sort by: Most helpful
  1. Anonymous
    2013-01-15T17:45:06+00:00

    You can also join two separate instances of a table in a single query, giving each an alias to differentiate them.  You'd return the same column from each instance of the table as two separate columns and compare the two values.  Each instance of the table would be restricted in the query's WHERE clause to pre- or post-program responses.

    I'd probably do it this way, but if you are not comfortable with writing queries which go beyond what can easily be done in query design view, you might find Scott's suggestion of creating separate queries and joining them simpler.

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  2. Anonymous
    2013-01-15T04:38:04+00:00

    Hey Tom, 

    Thanks so much for your reply! I'm sorry if I was unclear. Let me be more specific,

    Yes the pre-test and post-test are exactly the same. We administer the pre-test before the program with questions like:

    How much do you agree with the following statements?

    1. I like math.

    Strongly Agree, Agree, Neutral, Disagree, Strongly Disagree

    1. I like to work with my hands.

    Strongly Agree, Agree, Neutral, Disagree, Strongly Disagree

    and so forth for the next 18 questions.

    Then after the students complete the program, we administer the survey (the post test). And what I'm looking to do is compare the answers to the two tests for each question and see if there's an increased interest in a particular question. We do this for each student in the program.

    What would be a good way to organize the data. I'm not familiar with Access that much, but I can kind of follow what you have been saying.

    Thank you so much again!

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  3. ScottGem 68,810 Reputation points Volunteer Moderator
    2013-01-15T13:09:14+00:00

    I mostly agree with Ken's structure but would take a slightly different approach,. 

    Tests

    ....TestID (PK)

    ....TestName

    ....etc

    Students

    ....StudentID (PK)

    ....FirstName

    ....LastName

    ....etc

    Questions

    ....QuestionID (PK)

    ....Question

    ....TestID (FK)

    StudentResponses

    ....StudentReponseID (PK)

    ....StudentID (FK)

    .....PostorPre

    ....ResponseDate

    Answers

    ....AnswerID (PK)

    ....StudentResponseID (FK)

    ....QuestionID (FK)

    ....Answer

    The StudentResponses table would record when a test was given and to who. The Answers table would include a FK to link to that table to identify what the answers are for.

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2013-01-15T12:42:35+00:00

    In database terms a student's response to a test is a many-to-many relationship type between students, questions and answers.  So you'd need tables along these lines;

    Tests

    ....TestID (PK)

    ....TestName

    ....etc

    Students

    ....StudentID (PK)

    ....FirstName

    ....LastName

    ....etc

    Questions

    ....QuestionID (PK)

    ....Question

    ....TestID (FK)

    Answers

    ....AnswerID (PK)

    ....Answer

    The relationship type between questions and answers would be modelled by a table:

    QuestionAnswers

    ....QuestionID (FK)

    ....AnswerID (FK)

    The primary key of this table is a composite one of both columns.

    The relationship type between students, questions and answers is modelled by a table:

    StudentResponses

    ....StudentID (FK)

    ....QuestionID (FK)

    ....AnswerID (FK)

    ....AnsweredWhen

    The AsweredWhen column would have possible values Pre-program and Post-program.  This table is again all-key, i.e its primary key is a composite one of all four columns.

    You'll appreciate that these are only preliminary thoughts and the model should be tested thoroughly and fine-tuned if necessary.  On the whole I think the structure is about right, though.

    Was this answer helpful?

    0 comments No comments
  5. Tom van Stiphout 40,201 Reputation points MVP Volunteer Moderator
    2013-01-15T01:48:43+00:00

    I'm not sure I have enough information to be precise, but for starters I would save all answers in one table.

    Assuming the pre-test questions and the post-test questions are the same, we need to support the notion that the same test is given to the same student multiple times (typically: twice). I'm thinking of a table TestInstances which gets a record each time a test (= a set of questions) is given:

    TestInstanceID autonumber PK

    TestDate datetime required

    TestID long integer, FK, required

    IsPreTest yesno, required, default=Yes, Comment=If False, it's a PostTest.

    Each TestInstance record has a set of answers in the Answers table:

    AnswerID autonumber PK

    QuestionID long int, required, FK

    TestInstanceID long int, required, FK

    StudentID long int, required, FK

    Answer text, required  (could also be a number 1-5)

    Does this get you started?

    Was this answer helpful?

    0 comments No comments