0

クイズを作っています。各質問は、質問と3つの選択肢で構成され、そのうちの1つが正しいです。サーバーはHTML(JSが解析しようとしているJSONではない)を出力する必要があり、ユーザーが回答を選択します。

私が疑問に思う理由は、クイズを作成する人がJSONを介して代替案を送信しているためです。また、後で代替案のいずれかを編集する場合は、JSONを解析し、変更を加えてサーバーに送信するだけです。次に、サーバーは代替の「セル」を更新するだけです。

ただし、ユーザーがクイズに答えるとき、サーバーは正しい答えを見つけるために配列を実行する必要があります。回答が独自の分離された行(多対多)に格納されている場合、サーバーは正しい回答を照会するだけで済みます。

これに加えて、JSONは、多対多の関係を使用する場合、多くの小さなVARCHARSと比較して、代替をTEXT列に保存することになります。

それを行うための最も効率的な方法は何ですか?(スピード)それを行うための最も便利な方法、そして最も受け入れられている方法は何ですか?

4

1 に答える 1

1

さて、私はあなたのテーブルがこのように見えるべきだと言うでしょう:

+------+------------+--------+--------+--------+--------------+
|  ID  |  Question  |  Ans1  |  Ans2  |  Ans3  |  CorrectAns  |
+------+------------+--------+--------+--------+--------------+
| PKey |    text    |  text  |  text  |  text  |     text     |
+------+------------+--------+--------+--------+--------------+
|   1  |    π = ?   | 3.1415 | 2.2465 | 5.6598 |     3.1415   |
+------+------------+--------+--------+--------+--------------+

そして、あなたのクエリは次のようになります:

SELECT (CorrectAns = %enteredanswer%) FROM QuizTable WHERE ID=%questionid%

jsonをこのテーブルに変換するのは非常に簡単です。その逆も同様です。

編集:未定義の数の選択肢の場合:

あなたはテーブルとそのようなQuestionテーブルを持つことができます:Options

Question:
+-------+------------+---------------+
|  QID  |  Question  |  CorrectAnsID |
+-------+------------+---------------+
|  PKey |   text     |  FKey,integer |
+-------+------------+---------------+
|   1   |   π = ?    |        2      |
+-------+------------+---------------+

Options:
+-------+--------------+--------------+
|  OID  |  OptionText  |  QuestionID  |
+-------+--------------+--------------+
|  PKey |    text      | FKey,Integer |
+-------+--------------+--------------+
|   1   |    3.5600    |      1       |
+-------+--------------+--------------+
|   2   |    3.1415    |      1       |
+-------+--------------+--------------+
|   3   |    3.4567    |      1       |
+-------+--------------+--------------+
|   4   |    3.7894    |      1       |
+-------+--------------+--------------+
|   5   |    3.9874    |      1       |
+-------+--------------+--------------+

これはjsonメソッドよりも動作が速いかもしれませんが、実装(結合や書き込み)が難しいため、迅速で小規模なプロジェクトの場合は、jsonメソッドを使用します。

于 2012-10-19T15:27:20.780 に答える