I am not sure whether this type of question is allowed here, but seeing other questions, i think it is.

I am doing a database design of processing exam marks. There is a marksheet for each of the answersheet. Marksheet is identified by reference of answer sheet. Each answer sheet is evaluated by 2 or more examiner.

I want to store the marks for each questions. So, if a question paper has 8 questions, there should be 8 entry for marks, some of which can be blank depending on whether the student has answered that question or something.

And there is a paper code associated with each answer sheet, which is unique for a given exam.

This is my AnswerSheet Table

Id (Primary Key)
Exam_ID (foreign key to exam table)
Paper Code (manually given for each paper, unique for a single exam)

Note that, by exam I am referring to a single course exam, not whole set of exams.

Here is my Marksheet table:

Id (Primary key)
Answer_sheet_id (foriegn key to the answer sheet table)
Examiner_ID (to identify the teacher evaluated this sheet)
Mark on Question 1
Mark on Question 8

Here, you see that I am hardcoding the question 1 to 8 in the database, which I think a bad design. My logic is that, It's very unlikely to change the no of questions in an exam in future. But, It's not absolutely guranteed.

I am seeking other alternative/better design for this problem?


There should be questions table that contain all questions with unique ID to each question. A new table reference AnswerSheet table Id and questions id should be there.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.