2013-09-27 4 views
-1

я собираюсь разработать проект по управлению университетом, где, включает в себя некоторые ограничения,Проектирование рельсы проекта

  1. Есть несколько семестров от 1 до 8 или более
  2. есть некоторые предметы, где субъект могут быть взяты в разные семестры, и поэтому в семестре много предметов.
  3. ученики с уникальным идентификатором могут зарегистрироваться в семестр. Формируйте предметы, относящиеся к этому семестру, он может выбрать некоторые предметы.
  4. студент не может зарегистрироваться в ранее зарегистрированном семестре. но он может зарегистрироваться в другом семестре.

как я могу это спроектировать?

+5

Как и все мы делаем - сядьте с листом бумаги и карандашом. –

ответ

0

Модели что-то вроде этого:

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) для реализации один-к-одному, один-ко-многим и отношения «многие ко многим».

Смежные вопросы