Hi. I'm new at relational database design, and I'm working on a shema for a study abroad organization that wants to store user responses to its various programs in a database. (they may want to tie the fields I've listed with additional information about their programs and applicants down the road). Eventually they'd like to have a system for displaying and searching these evaluations online, as well as determine which students filled out an evaluation for which program etc.) I feel like I may have too many tables however. Here goes:
STUDENT
(studentID, name, class, house, email, phone)
STUDENT_PROGRAMS [programs they've enrolled in, and when]
(studentID, programID, program_season, program_year)
PROGRAMS [more info to be added later]
(programID, location)
STUDENT_CONCENTRATIONS
(studentID, concentrationID)
CONCENTRATIONS [I want to populate a pull down list with this to keep the data clean]
(contrentrationID, studentID)
FORM [info about specific eval form they filled out]
(formID, date_created, date_replaced, url)
FORM_QUESTIONS [Many questions will repeat on different forms]
(formID, questionID, question_number)
QUESTIONS
(questionID, question_text, question_type)
EVALUATION [eval season and year show which semester and year the evaluation is for, could be multiple]
(evaluationID, studentID, formID, programID, eval_year, eval_season, date_completed)
RESPONSES
(responseID, evaluationID, questionID, text_answer, num_answer)
Let me know what you think, and thanks for reading.