データベースを作成しようとしていますが、必要なものとその方法を検討するたびに、別のソリューションの方が優れていると思います。以下に私の状況を説明します。最善の方法とその理由を知りたいです。
私は現在、自分の要件を含む Excel ファイルを持っています。これには、カテゴリ、サブカテゴリ、および入力が必要なそれぞれの質問と、それらが関係する必要がある人々のリストが含まれています。これは通常、カテゴリ、サブカテゴリをテーブルに格納し、それを質問テーブルにリンクしてから、質問テーブルと人物テーブルを参照する回答テーブルを作成する単純なケースです。そのような:
Person:
personID: int identifier
personName: nvarchar(50)
Info:
infoID: int identifier
infoCat: nvarchar(50)
infoSubCat: nvarchar(50)
Question
questionID: int identifier
questionText: nvarchar(100)
questionInfo: FK relating to infoID
Answer:
answerID: int identifier
answerQuestion: FK relating to questionID
answerPerson: FK relating to PersonID
answerNumber: int
ここで私が直面している問題は、答えが常に数値になるとは限らないということです。bit
または値を保存する必要があるいくつかの質問がありtext
ます。
私が考えることができる他の解決策は、質問を非正規化し、テーブルをInfo
マージQuestion
してから、Answers
テーブルを作成することです。
Answers:
AnswersID: int identifier
AnswersPerson: FK relating to PersonId
Answer1: int
Answer2: bit
Answer3: int
etc..
最後に、回答列にnvarchar
の代わりに を作成し、必要に応じてと の値をint
格納することもできます。(これは最も簡単な解決策のように思えますが、私が制御できない別のDBに回答を定期的にバックアップする必要があるため、値が転送可能であることを確認する必要があります)numerical
boolean
それが私が言及した方法の1つである場合、または私自身では考えられなかった方法である場合、私にとって最良の方法は何かを見つけようとしています.
前もって感謝します。