0

私の会社では、一部の部門の従業員全員に調査への参加を依頼しました。この調査の構成は次のとおりです。I、II、III、IV。3 つのカテゴリにはいくつかの問題があり、最後のカテゴリには A から L までのサブカテゴリがあります。各サブカテゴリには多くの問題があります。そして、これらの質問のほとんどにはサブ質問があります。

質問には 2 種類あります。選択肢の数が異なる多肢選択問題 (場合によっては 2 つ、4 つ、5 つ、または 6 つの選択肢) と書面による質問 (次の内容についてコメントしてください...)。サブ質問のある質問の例: 次のサービスについてどう思いますか? サービス1
サービス2 サービス3

ちなみに、この質問は、各サブ質問 (service1 など) が 5 つの選択肢を持つ多肢選択式の質問です。

ここでの問題は、ユーザー情報、質問、およびユーザーの回答を格納するデータベースを作成することです。このデータベースの目的は、質問に基づいて後で統計を作成することです。たとえば、サブ質問も表示して、質問 #3 で何人の従業員が (同意するか、まったく同意しない) と答えたかを示すクエリを作成する必要があります。

次の不完全なデータベース設計を思いつきましたが、複雑なようです。

Employee Table: Username, Name, DepartmentID
Department Table: DepartmentID, DepartmentName
Category Table: CategoryID, CategoryName
SubCategory Table: SubCategoryID, SubCategoryName, CategoryID
Question Table: QuestionID, Question
SubQuestion Table: SubQuestionID, SubQuestion, QuestionID
Answer Table: AnswerID, Answer, QuestionID, SubQuestionID

では、このすべての情報を格納し、必要な一般的な統計を取得できる最適なデータベース設計は何でしょうか?

4

2 に答える 2

2

私の提案は次のようになります。

Employee Table: UserId, Username, Name, DepartmentId
Department Table: DepartmentId, DepartmentName
Category Table: CategoryId, CategoryName, ParentId

Question Table: QuestionId, Question, CategoryId
QuestionChoices Table: ChoiceId, QuestionId, Choice, Sequence

Answer Table: AnswerId, QuestionId, UserId, Text
AnswerChoices Table: AnswerId, QuestionId, UserId, ChoiceId, [Value]
于 2012-05-17T17:38:19.137 に答える
0

従業員と部門のテーブルは問題ないようです。次の提案があります。

-- Sub-、Category、Sub- & Question 番号をそれぞれの表に含めます (つまり、カテゴリの場合は I、II、III、IV、質問の場合は A、B、C など、Question/CategoryName が完全であると仮定します)。長さ 質問/カテゴリ)

-- QuestionID テーブルに SubCategoryID FK を含める必要があります。

-- コメントで提案されているように、employeeID も用意します (ユーザー名は、退職後に再利用される可能性があります)。

-- 次に、次のテーブルを設計します。

Answer Table:

AnswerID
SubquestionID
AnswerType (choose between 'Multiple', 'Long')
AnswerName (NULL if AnswerType is 'Long', a, b, c, etc if 'Multiple')

SurveyResults Table: 

EmpID (FK from Employee table),
SubQuestionID (a, b, c, ...; again if no subquestion, then put in a)
Answer (varchar(4000), so you can accommodate both types of answers)

多肢選択問題の選択肢を保持するために、Answer テーブルを保持する必要があることに注意してください。

于 2012-05-17T17:12:28.903 に答える