• Consider this variation of B. It allows you the flexibility to use a QuestionGroup in multiple Surveys without having to re-enter the questions for each Survey.

    TableKeys

    Survey

    PK = SurveyID

    QuestionGroup

    PK = QuestionGroupID

    SurveyQuestionGroup

    PK = SurveyQuestionGroup,

    FK = SurveyID to Survey,

    FK = QuestionGroupID to QuestionGroup,

    AK = SurveyID,QuestionGroupID

    Question

    PK = QuestionID,

    FK = QuestionGroupID to QuestionGroup,

    AK = QuestionID,QuestionGroupID

    Answer

    PK = AnswerID, FK = QuestionID,

    FK = QuestionID,QuestionGroupID to Question,

    FK = SurveyID,QuestionGroupID to SurveyQuestionGroup