2011-10-23 5 views
1

今後のプロジェクトでデータベースを設定する方法について考えています。このプロジェクトは、1ページの社内クイズアプリです。ユーザーは質問に答え、氏名とメールアドレスを入力し、賞品を受け取った場合は賞金のために「宝くじ」に記入されます。PostgreSQL DBデザインクイズプロジェクト

毎月4つの質問が出されます。すべてのユーザーのすべての質問に対するすべての回答を追跡したいので、管理セクションでそのデータを生成することができます。毎月5つの質問があり、それぞれの質問は複数の選択肢です。

私の最初の考えは、各質問の列を作成して、M1Q1、M1Q2、M1Q2のように名前をつけてから2ヶ月間M2Q1などとしました。 毎月回答の「配列」を保存する必要がありますか?それとも他の方法ですか?

ここにも同様の質問があります:MySql database design for a quizしかし、私は質問を保存する必要はありません。すべてのユーザーの質問をすべての月間保存する必要があります。私はレールを使用しているので、上記の質問と比較してドメインロジックなどにアクセスできます。

ありがとうございました。

答えて

1

2つのテーブルを使用できます。 1つに4つの列があります。

userid month question answer 
1  1  1  A 
1  1  2  C 
1  1  3  B 
etc... 

主キーは(ユーザー、月、質問)です。

useridは、ユーザーに関する情報が格納されているユーザーテーブルの外部キーです。

+0

これは最適なデザインですか? – Lsdafjklsd

関連する問題