Store data of feedback form

database-design

I am a novice at database management and doing a small project on Feedback System.
My question is that I want to know that how i should store the data of feedback form. Suppose i have different feedback form for different subjects and each student submits the form so how i should store and manage the data?
My feedback form may have around 20 questions which can be descriptive type also. Do i have to create table for each student, in that case my tables will be too large or i have to create table for each subject?

Best Answer

You should create a table that holds the form and it has an form ID and the form name. Then another table that holds the questions for that particular form. The fields would be the formid from your first table and then the quesiton ID and the question. The question id would be continuous unique range of numbers (so if you have 3 forms and each has 10 questions, questionid needs to be 1 through 30). And finally a third table that has the questionid and the answer. You can also have other fields on these tables such as who took it, who created it, when it was created, when it was taken, etc.