0

「質問のグループ」のテーブルがあるとしましょう

GroupID | 価値
-------- + ------
42 | どのくらいの頻度で
9071 | その他の質問
..。

そして、質問のグループごとに、「質問」と「可能な回答」があります。

グループ| 質問ID| 価値
------ + ------------ + ------
42 | 5 | ...歯を磨く?
42 | 89 | ...映画に行きますか?
9071 | 709 | ...別の質問..。
..。
グループ| 回答| 価値
------ + -------- + ------
42 | 134 | 1日に数回
42 | 135 | 1日2回
42 | 71 | 一日一回
42 | 803 | 一日置き
42 | 8 | 週に一度
42 | 666 | 月に一度
..。

ここで、PHP / HTMLで、グループ42の質問と可能な回答の(仮想)完全外積を実行して、ユーザーが回答を選択する2エントリのテーブルを作成します(HTMLバージョン) 。

どのくらいの頻度で| N / d | 2 / d | 1 / d | d * 2 | 1 / w | 1 / m |
---------------------- + ----- + ----- + ----- + ----- + --- -+ ----- +
...歯を磨く?| ()| (X)| ()| ()| ()| ()|
...映画に行きますか?| ()| ()| ()| ()| (X)| ()|

私は
insert into answers (question, answer, ...) values (5, 135, ...)

insert into answers (question, answer, ...) values (89, 8, ...)映画のために必要になることを知っています

問題は、テーブル内の質問と回答の両方をanswers同じグループの質問に「属する」ように強制する方法はありますか?


insert into answers (question, answer, ...) values (709, 71, ...)
質問709はグループ9071に「属し」、回答71はグループ42に属しているため、これは許可されません。

4

2 に答える 2

1

ええと、答えはグループではなく(少なくとも直接ではなく)質問に関連しているので、「可能な答え」の表は次のようになっているはずです。

Question | Answer | value
---------+--------+------
5        | 134    | several times per day

次に、回答を挿入するときに、QuestionIdとAnswerIdを指定します。これらは一緒に「可能な回答」を参照し、それによって間接的にグループを参照します。

于 2009-10-16T12:39:49.570 に答える
0

Groupを含めてから、2つの外部キーを作成します。1つはにQuestionID、もう1つはに。Answer(Group, QuestionID)(Group, Answer)

于 2009-10-16T12:46:05.490 に答える