0

関係を設定する方法を理解しようとしている3つのテーブルがあります。データベースは、調査の質問と回答を追跡するためのものです。ユーザーは多くの質問に答えることができます。質問には多くの回答を含めることができます。回答は 1 つの質問にのみ関連付けることができます。回答は、多くのユーザーが使用できます。

USER: UserId、名前など....

ANSWER: 回答 ID、AnswerText、QuestionId

質問: QuestionId、QuestionText

分割するテーブルを追加することを考えています:

USER_QUESTION_ANSWER: id、AnswerId、QuestionId、Userid

Answerid、questionid、および userid はすべて、それぞれのテーブルの FK になります。ただし、これは正しくないようです。それはちょうどあるべきだと思われます:

QUESTION_ANSWER: ID、質問 ID、回答 ID

しかし、私が遭遇する問題は、どのユーザーがどの回答をしたかを追跡する必要があることです。ANSWER テーブルは、どの質問に対してどの回答が行われるかを既に追跡しています。新しいテーブルを 2 つ追加する必要がありますか?

USER_ANSWER: ID、ユーザー ID、回答 ID

QUESTION_ANSWER: ID、質問 ID、回答 ID

4

2 に答える 2

0

4 つのテーブルが必要だと思います: USER, QUESTION, ANSWER (Id, description) と、どのように関係を記録するかのテーブル: UQA (id user, id question, id answer)

数えやすい (ユーザーごとの回答数) と明確 (1 人のユーザーが質問ごとに 1 つの回答で多くの質問をする)

于 2013-04-21T19:27:07.710 に答える