私の考えについて一言
Web ベースの教育プロジェクトに取り組んでいます。このプロジェクトの質問応答システムを作成します。私が理解できないいくつかの論理的な困難があります:
ユーザーの間には教師と生徒がいます。すべての学生は、サインアップ時にいくつかのコースを選択します。
users、courses、lessons、 、questionsの5 つのテーブルがありanswersます。
質問には次の 2 種類があります。
Userベース。たとえば、教師が特定のユーザーに質問を送信したい場合、またはその逆の場合 (ユーザーは教師にも質問を投稿できます)。Course-lessonコンビネーションベース。たとえば、教師は、現在参加しているレッスンに基づいてすべてのコース リスナーに質問を投稿したいと考えています。
私がしたこと
questions from-to(qft) テーブルを作成しました
CREATE TABLE `questions from-to` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`qid` int(11) unsigned NOT NULL,
`from_uid` int(11) unsigned NOT NULL,
`to_uid` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `qft.from_uid_users.id` (`from_uid`),
KEY `qft.to_uid_users.id` (`to_uid`),
KEY `qft.qid_qe.id` (`qid`),
CONSTRAINT `qft.from_uid_users.id` FOREIGN KEY (`from_uid`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `qft.qid_qe.id` FOREIGN KEY (`qid`) REFERENCES `questions_and_exercises` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `qft.to_uid_users.id` FOREIGN KEY (`to_uid`) REFERENCES `users` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
そのように見える

qid- は質問 ID で、このテーブルをquestionsに基づいて接続しますidfrom_uid- ユーザー ID (質問送信者 ID) から、このテーブルをusersに基づいて接続しますidto_uid- ユーザー ID (質問受信者 ID) に、このテーブルをusersに基づいて接続しますid
だから私は両方のためのいくつかの普遍的なソリューションを作成しようとしました:
生徒と教師が互いに質問を投稿できるようにします。わかった
教師は、一部のユーザーに特定の質問を投稿できます。わかった
しかし問題がある
問題は
教師がすべてのコース受講者に質問を投稿したい場合はどうすればよいですか? 私はすでに関係テーブルを持っていますが、現在、質問を受け取ることができるように、user-course1 つずつユーザー ID をテーブルに追加する必要があります。questions from-to組み合わせに基づく「大量質問」とcourse-lesson「ユーザー間」タイプの質問投稿(教師が特定の生徒に質問を送信し、その逆)の両方の状況でこのテーブルをどのように設計できるかわかりません。
助言がありますか?