私は大学の管理プロジェクトを開発しようとしていますが、そこにはいくつかの制約が含まれています。
- 1学期から8学期以上の学期があります
- 学期をまたがって履修できる科目もあり、学期には多くの科目があります。
- 一意の ID を持つ学生は学期に登録できます。その学期に属する科目から、彼はいくつかの科目を選択できます。
- 学生は、以前に登録されたセメスターに登録することはできません。しかし、彼は別の学期に登録できます。
どうすればこれを設計できますか??
私は大学の管理プロジェクトを開発しようとしていますが、そこにはいくつかの制約が含まれています。
どうすればこれを設計できますか??
モデルは次のようなものです。
class Semester < ActiveRecord::Base
has_many :subjects
has_many :semester_students
has_many :students, :through => :semester_students
end
class Subject < ActiveRecord::Base
belongs_to :semester
end
class Student < ActiveRecord::Base
has_many :semester_students
has_many :semesters, :through => :semester_students
end
外部キー (semester_id、student_id、subject_id など) と関連付けテーブル (semester_students) を使用して、1 対 1、1 対多、および多対多の関係を実装します。