I'm sort of new to creating databases and this is the most complex one I have yet to make and I would like to make sure I am following the best practice in my design. (This is just a private project I'm doing to learn as fun)
Basically I will have questionnaires stored which can have multiple questions. Questions can be reused on multiple questionnaires if already created so I have a smart search sort of interface which will check the database.
Then I have an answer for each question linked to a question on a questionnaire and a user who answered it on a date.
I would also have multiple question types from: select, text, text_area, number , date, radio.
For select types I would have a choices table indicating the choices available by the select.
User table would link to answers when a questionnaire is being used.
I would also have questionnaire dependencies for when a question depends on another like: do you smoke? if yes -> how much do you smoke?
Things I'm not really sure about are the many to many relationship using a junction table and self referencing the questions from the junction table to form dependencies. Would this be considered a correct design and if not what am I doing wrong?