san_jorich
@san_jorich
Творческий кодер

Пользователи и рабочий график: как хранить?

Здравствуйте!
Есть некоторое количество пользователей: Массив U (user)
Есть рабочий график массив дат D (date) c различными состояниями T (type): Рабочий день, Выходной, Больничный, Отгул и т.д.

Муки мозга уже вторые сутки.. в каком виде лучше хранить этот массив в бд..

[user_id][date] =[type]
[user_id][date_type] = {date, date2..date N}
[date] =[ [user:type],[user2:type].. ]

чтобы максимально просто делать выборки по датам и состояниям для пользователей ?
От чего лучше отталкиваться ?
  • Вопрос задан
  • 102 просмотра
Пригласить эксперта
Ответы на вопрос 2
Adamos
@Adamos
[user_id, date, type, INDEX(user_id), INDEX(date), UNIQUE(iser_id, date)]
Ответ написан
@Akina
Сетевой и системный админ, SQL-программист.
в каком виде лучше хранить этот массив в бд..

Налицо тривиальная связь типа "много-ко-много". И соответственно хранение - две таблицы связываемых сущностей и связующая таблица. Т.е.

1) User (user_id, name, ...);
2) Dates (date, type, ...);
3) UsersDates (user_id references User (user_id), date references Dates (date));
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы