私はMoodleに似たウェブサイトを作っています。基本的に学生向けのテストを実施しています。テストに関する複数のタイプの質問と、データを格納するためのテーブルの作成方法を許可すると、混乱が生じます。
test_infoテーブルには、テストIDと説明が含まれます。テストテーブルには、テストIDと質問IDのペアが含まれます。テストの質問を取得するには、「SELECT * FROM test WHERE testID = $ tID」が必要です。これは、データベースが大きくなったときに実行するのにかなりの時間がかかります。
もともと質問表には、質問、4つの可能性、および回答が含まれていました。
複数の質問と複数のタイプの質問のデータをデータベースに保存するにはどうすればよいですか?
例えば:
テスト51-「イントロ数学」
質問1:2 + 2とは何ですか?A:4 B:12 C:7 D:8
質問2:(0,103)は方程式y = 2x /(100x)の範囲ですか?真/偽
これにより、2つの異なるサイズのデータが生成されます
質問:
| 質問| A | B | C | D | 正解|
| 質問| 正解|
これらを1つのテーブルに保存すると、質問ごとに4つの50Char Var-Charが無駄になります。また、これらを2つの別々のテーブルに保存すると、SELECTはどのテーブルから選択するかをどのように認識しますか?
質問:| TestID | TableID | 質問ID|
質問1: | 質問| A | B | C | D | 正解|
質問2: | 質問| A | B | C | D | 正解|
なんて悪夢でしょう。