0

すべてのユーザーがクイズを作成して他のユーザーに割り当てることができるアプリケーションに取り組んでいるとします。それらのクイズの質問と回答を記録する必要があります。

このアプリケーションの目的は、その特定の時点でクイズを再作成し、特定のユーザーが選択した回答を表示できるようにすることです。日付フィールドが欠落していることに気付きましたが、その前に、ここで助けが必要なことを実行します。

ユーザーが1つの質問でクイズを作成でき、別のユーザーがランダムタイプごとに100の質問を作成することを決定したという事実にどのように対処しますか?。

各タイプの質問を格納できる列をQuizResultsテーブルに作成する必要がありますか?すべての回答を1つの列にシリアル化する必要がありますか?私は何をすべきか?

言及する価値のあるいくつかの明白なこと:

  • クイズには多くの質問があります。
  • クイズはユーザーに割り当てることができます。
  • ユーザーは多くのクイズに答えることができます。
  • いくつかの答えは多肢選択式であり、いくつかは段落であり、他の一致は真または偽です。
  • ここに画像の説明を入力してください

    4

    1 に答える 1

    0

    このタイプの設計については、少なくとも非リレーショナルデータベースを確認することを強くお勧めします。私はこれを、反SQL狂信者ではなく、リレーショナルテクノロジーの20年のユーザーとして言っています。

    私は過去に、コンテンツとフローの両方の点で柔軟性を提供する必要があるこれらの調査指向のアプリケーションと、質問の編成の複雑さは、MongoDBなどのドキュメントストアまたは同様のストアまたはXML指向のストアのいずれかによってより適切に提供されることを学びました。 MarkLogicとして(高価になる可能性があります)。

    コンテンツに添付されたメタデータを使用して、回答の構造の「ランダム性」またはバリエーションの両方を管理できます。また、調査で頻繁に問題となるバージョン管理に対処することもできます。

    最終的には、リレーショナルデータベースを使用している場合でも、コンテンツ管理システムのアドオンを調べることをお勧めします。

    ただの意見。

    于 2012-08-05T02:30:17.767 に答える