1

調査があります。さらに 30 のはい/いいえの質問 (A、B、C、D の 4 つのタイプがあります)。答えが「いいえ」の場合、ユーザーは理由を示す必要があります。回答用にさらに30列あるテーブルを作成することを考えています。列名は次のようになります A1,A2...A7,B1,B2,...C1,C2...D1,D2...D8.

それらのデータ型はビットです。そして、1:1 の関係でコメント用に別のテーブルを作成します。のような列名

'A1Cm,A2Cm,...A7Cm,B1Cm.....D8Cm'

いいデザインとは思えません。しかし、asp.net ページにデータをロードする最も簡単な方法です。なにか提案を?

4

2 に答える 2

0

各質問を説明する質問テーブルと、各ユーザーを説明するユーザー テーブルを作成する方がはるかに優れています。次に、ユーザーと回答の関係を処理する 3 番目のテーブル。何かのようなもの:

user( user_id, name, date_answered, ... )
question( question_id, question_type, name, question_text, ... )
answer( user_id, question_id, answer, comment, ... )

user_id 列は、ユーザー セッションごとに自動生成されます。

サンプルデータは次のようになります。

user( 555, "Some User", 2013-10-19 )
question ( 1, "A", "Dog question", "Do you like dogs?" )
answer( 555, 1, "NO", "I am afraid of them" )
于 2013-10-19T17:15:28.793 に答える
0

オプション1:

QuestionId - int primary key, 
QuestionType - bit - A1,A2...A7,B1,B2,...C1,C2...D1,D2...D8 
QuestionComment - varchar

オプション 2:

QuestionTypeおよび/またはQuestionCommentテーブルを追加することを検討してください:

質問表:

QuestionId - int primary key, 
QuestionTypeId - int (forigen key QuestionType(Id))
QuestionCommentId - int (forigen key QuestionComment(Id))

質問の種類:

Id 
QuestionType

質問コメント:

Id
QuestionComment:
于 2013-10-19T17:08:45.437 に答える