Разработка базы данных, отображающая сотрудников на рабочие места - PullRequest
0 голосов
/ 16 августа 2011

Я проектирую базу данных для системы планирования сотрудников.Каждая смена имеет M различных ролей, которые должны быть заполнены, и каждый из N сотрудников квалифицирован для комбинации этих M различных ролей.

Наивный дизайн заключается в установке M логических флагов в каждой записи сотрудника.Требует ли это, чтобы я ограничил число ролей, которые могут поддерживаться во время разработки, или у современных баз данных есть способ избежать потенциально неограниченной таблицы MxN?

1 Ответ

1 голос
/ 16 августа 2011

Как насчет чего-то вроде:

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
...