1

I have the following database design:

Employee Table: EmployeeID, Name, OrgCode
Department Table: OrgCode, DepartName
CompleteSurvey Table: ID, RespondantID, QuestionsAnswersID
Questions Table: QuestionID, Question
Answers Table: AnswerID, Answer
QuestionsAnswers Table: ID, QuestionID, AnswerID

Each question has different multiple choices. Besides that, I am thinking to add sub-questions under the question. Most of

the questions have the same choices such as (Agree, Disagree). I want to write the query that shows the question including

its sub-questions with all of its choices and the number of participants in each choice even if it is zero.

I am not sure if the Questions Table will help me in inserting sub-questions under any question. Is that design applicable? What do you recommend?

4

2 に答える 2

1

現在の質問テーブルでは、サブ質問を含めることはできません。サブ質問を表すIDを試してみてください(たとえば、質問にはID 2があり、それに対するサブ質問にはID 2Aなどがあります)が、この設計は失敗する可能性があり、IDの計算に依存します。また、できません。サブ質問のレベルを確認してください。

より良いアプローチは、自己参照関係のために親子ディメンションを持つことです。あなたが持っているかもしれません:

質問テーブル:QuestionID、Question、ParentID

ここで、ParentIDはいくつかの質問のIDです。nullの場合、その質問はどの質問のサブ質問でもありません。再帰的な関係については、従業員とマネージャーの関係も表示される場合があります。これは、問題をよりよく理解するのに役立つ場合があります。

于 2012-05-22T06:56:30.553 に答える
1

いいえ、サブ質問の親 (または質問の子) を指定する場所はありません。

考えられる方法は次のとおりです。 1. 親質問の ID を配置する親列の質問テーブルを追加します。2. サブ質問列を Questions テーブルに追加し、サブ質問 ID を array / json として保存します。これにより、クエリを実行するのが難しくなる可能性があると思います。3. 新しい表のサブ質問を作成します - 作成するサブ質問ごとに 2 つの列があります。

于 2012-05-22T06:52:58.670 に答える