免責事項: これらのテーブルは私が設計したものではなく、このデータを保存する最良の方法ではないことを認識しています。状況を処理する最善の方法についてアドバイスが必要です。
2 つの MySQL テーブルがあります。
`students`
id int; primary, unique
prof1_id varchar
prof2_id varchar
prof3_id varchar
`professors`
id int; primary, unique, auto-increment
username varchar
fname varchar
fname varchar
students_id int
comment text
教授のユーザー名は、students
表の最後の 3 つの列のいずれかにある可能性があります。教授は、表の行にコメントがある学生ごとに 1 つのコメントを提供する必要がありstudents
ます。
このデータベースのフロント エンドであるアプリケーションでは、professors
テーブルにさらに 2 つの列 (student_id と comment) が必要です。professors
各学生の行には 3 人の教授がいる可能性があるため、複数の学生のためにリストされている場合は常に新しい行を追加する必要があります。これは、professors
新しい生徒のコメントごとに id フィールドを自動インクリメントする必要があることを意味します。
MySQL クエリを使用してこのデータ転送を実行する最善の方法は何ですか? JOIN と組み合わせて UPDATE を調べてみましたが、これを行う有効な方法があるかどうかさえわかりません。professors
また、複数の行が同じ ID を持つため、別の主キーを作成する必要がありますか?
これを実現するには VIEW が最適な方法ではないかと思いますが、フロント エンドのアプリケーションは情報がprofessors
テーブルに格納されることを期待しています。
私が考えていたもう 1 つのことは、2 つのテーブルを結合して新しいテーブルを作成し、2 つの列の主キー、students.id、professor.id を持つことができるということでした。
ありがとう!