これは空間と時間の問題だと思います。
オンラインクイズアプリケーションを考えてみましょう。ブラウズクイズでは、すべてのクイズで、質問の数を示したいと思います。
- クイズに10問ある場合は、「10問」または「中期クイズ」と表示する場合があります。
- クイズに5つの質問がある場合、「5つの質問」または「短時間のクイズ」として表示される場合があります。
表にはQuiz
、質問の数を格納するための列がありません。その数の質問を見つけるために、私はすることができます
SELECT COUNT(question_id)
FROM Quiz
NATURAL JOIN Quiz_data
WHERE quiz_id = '$quiz_id'
これはとQuiz_data
のクロステーブルであることに注意してください(つまり、2つのテーブルの両方のPKを格納します)。Quiz
Question_bank
* number_of_question *をクイズに保存すると、クイズに質問が追加/削除される場合があることに注意してください。delete
したがって、ととは別に、同様insert
に行う必要があります。update
質問:毎回計算する必要がありますか、それとも値をQuiz
テーブルに保存する必要がありますか?投稿のタイトルは、一般的な意味で同じ質問を言います。