2010-11-24 5 views
7

例質問の種類:拡張可能な質問タイプを可能にするクイズの質問と回答のデータベース設計をお勧めしますか?これまで

  • 複数選択シングル回答(ラジオボタンを思う)

  • 多肢選択複数回答(チェックボックスを考える)(今の多くの順列がある

  • マッチング可能な選択)

私はそれらをデータベース構造将来的にこれらのタイプやさらに多くの種類の質問に使用できるので、私はそれが拡張可能な方法を考えていますか?

は、今私が持っている(あなたの勧告は、しかし、このによって制約されている必要はありません):

  • 質問表
  • 回答テーブル
  • ChosenAnswersテーブル
  • Usersテーブル

1つの質問は多くの回答を持つことができます。 1人のユーザー/質問のペアは、複数のChosenAnswersを持つことができます。

しかし私はこれまでマッチングではうまくいくとは言えません。また、マルチアンサーでは簡単に動作すると100%確信していません。人の合計得点など

誰も私がこれらのタイプのクイズ質問の3つを使用して将来のものを追加することを可能にする設計を考えることができますか?あなたは...

将来の質問タイプの例は、「適切な順序で物事のこれらのリストを置く」することができます場合、私はありました

など...いくつかのインスピレーション、パラダイムシフトが必要しかし、複雑ではあるが、これらの異なる質問タイプのすべてを説明する一方で、報告目的のためにクイズの合計スコアを計算するかなり単純な方法を使用させるなどの方法です。

私が紛失している詳細がある場合はここにコメントしてください。私が持っているすべてのものを置いているので、あなたが考えている細部についても考慮していないと仮定するのが最善でしょう。すでに問題になっていますが、私はそれが要求されるときに明快さを追加します。

+0

これを紙で行う方法はありますか?そうでない場合は、データベース設計を忘れてしまいます。 –

+0

@AlexBrownはい、私たちは今、その作業を進めています...私たちが私たちの箱の外で考えるのを助けるためのいくつかの外部アドバイスを期待していました – BigOmega

+0

@井村井私は同様の問題に直面しています。 –

答えて

2

単一回答は、制約付き複数回答のようなものなので、簡単に同じテーブルに保存することができます。だからあなたが持っているものはすでに両方の人のために働く。

別の種類の質問を追加する必要がある場合は、あなたのパラダイムをリファクタリングしなければならない可能性があるため、あまりにも多くを集約しようとすることをお勧めします。これは、古いタイプの頭痛新しいタイプのためにもっと多くの、あるいはまったく同じように働きます。つまり、一致するタイプの質問に特別なテーブルを追加します。

結果をビューで結合することはいつでも可能です。そうすれば、個々のタイプは維持しやすくなりますが、結合された結果も簡単に生成できます。あなたの巧みさではなく、データベースが複雑さを扱うようにしましょう。 (あなたがそれに同意しない場合は、最初にSQLを使用するのではなく、カスタムエンジンを書くかもしれません:-))

+0

はい、私の考えはまさに私が考えていなかった非常に拡張可能なパラダイムがあることを望んでいました。単に箱の外で考えて助けを探していました...多分メタデータの重大なアプローチで、最後の段落で「ビューを使用して結果を結合する」という意味を広げることができます。これはチケットでもよいですか? – BigOmega

+2

これはビジネス向けの場合は、私が推奨する余分なテーブルに行くでしょう。これが学問的な演習であれば、可能なことを見るのが好きなのですが、是非、質問と回答の表に余分な列を追加して、見たいと思うように複雑にしてください。 :) – Kev

0

複数の選択肢 - 単一回答

ラジオボタンの代わりに、私はドロップダウンボックスを提案します。レイアウトがうまくいく

もっとインスピレーションを得るには、LON-CAPAがどのように機能するのかを確認してください。

幸運を祈る!

7

以下のデザインでは、質問表に一連のフラグを使用して、どのような種類の質問であるかを示します。また、質問のレベルも示します。回答テーブルは、外部キーを介して質問テーブルにリンクされています。完了テストテーブルは、完了テストの結果を保持します。 1人のユーザーにつき1つの不完全なテストのみが許可されます。不完全なテストテーブルでは、問題の表を質問表にリンクします(私は関係線を見逃してしまいました)。不完全なテスト表の文字列にユーザーが入力した回答を記録します。

alt text

+0

甘いおかげで、私はいくつかの時間を取って、これを見てみましょう – BigOmega

関連する問題