Ruby on rails 3 数据库设计将员工映射到轮班时的职位

Ruby on rails 3 数据库设计将员工映射到轮班时的职位,ruby-on-rails-3,database-design,Ruby On Rails 3,Database Design,我正在为员工调度系统设计一个数据库。每个班次都有M个不同的角色必须填补,N名员工中的每一位都有资格担任这M个不同角色的组合 简单的设计是将M个布尔标志放入每个员工记录中。这是否需要我限制在设计时可以支持的角色数量,或者现代数据库是否有办法避免潜在的无限MxN表?类似于: Roles id name Employee id name Qualifications id employee_id role_id Shifts id role_id dat

我正在为员工调度系统设计一个数据库。每个班次都有M个不同的角色必须填补,N名员工中的每一位都有资格担任这M个不同角色的组合


简单的设计是将M个布尔标志放入每个员工记录中。这是否需要我限制在设计时可以支持的角色数量,或者现代数据库是否有办法避免潜在的无限MxN表?

类似于:

Roles
  id
  name

Employee
  id
  name

Qualifications
  id
  employee_id
  role_id

Shifts
  id 
  role_id
  date
  shift_number

EmployeeShifts
  id
  shift_id
  employee_id

是的,资格和员工轮班表分别将角色映射到员工和员工映射到轮班。有点像稀疏矩阵。谢谢,我在脑子里把事情弄得更复杂了。