яОченьСтараюсь
Новичок
Приветствую, умов. Нужна ваша помощь либо мудрое наставление.
Подскажите, как организовать структуру в БД по хранению расписаний работы организаций?
Проблема, что расписание может быть разным в разные дни недели. И что должен быть легкий поиск по временным диапазонам. Типо так попадаем мы в раб. время или в обед или вообще уже не работает.
Мои идеи это либо...
1. Просто голимый перечень колонок. Каждая колонка это день недели + время в диапазоне

Т.е по 4 колонки на день недели (начало раб. дня, конец раб. дня, ачало обеда, конец обеда). Это в сумме выходит от 29 колонок с учетом колонки ID идентификатора (4*7 + 1).
2. Голимый перечень строк (записей).

Т.е на каждую организацию может выходить более одной записи.
Создается колонка отвечающая за группу диапазонов (День), и колонки под конкретное время (начало Рабочего дня (обеда), конец рабочего дня, обеда).
И далее например...
ID = 1. Смотрим колонку день: -1. Данный параметр значит, что в записи указано расписание на все дни, кроме... указанных в др. записях на данный ID. Смотрим... видем 5. Т,е на 5ый день недели у нас др. расписание.
Также для экономии можно создать колонку Выходные - где просто список номеров дней, в которые орг-ия не работает.
В целом созаем для себя подобные перечни... 0 - т.е расписание единое на все дни, 8 - будни 9 - выходные.. ну или типо того.
P.S.
Это все как-то не очень удобно. Первый - много колонок, второй - куча записей + сложность обработки при вставке, и выдачи.
Подскажите, как организовать структуру в БД по хранению расписаний работы организаций?
Проблема, что расписание может быть разным в разные дни недели. И что должен быть легкий поиск по временным диапазонам. Типо так попадаем мы в раб. время или в обед или вообще уже не работает.
Мои идеи это либо...
1. Просто голимый перечень колонок. Каждая колонка это день недели + время в диапазоне

Т.е по 4 колонки на день недели (начало раб. дня, конец раб. дня, ачало обеда, конец обеда). Это в сумме выходит от 29 колонок с учетом колонки ID идентификатора (4*7 + 1).
2. Голимый перечень строк (записей).

Т.е на каждую организацию может выходить более одной записи.
Создается колонка отвечающая за группу диапазонов (День), и колонки под конкретное время (начало Рабочего дня (обеда), конец рабочего дня, обеда).
И далее например...
ID = 1. Смотрим колонку день: -1. Данный параметр значит, что в записи указано расписание на все дни, кроме... указанных в др. записях на данный ID. Смотрим... видем 5. Т,е на 5ый день недели у нас др. расписание.
Также для экономии можно создать колонку Выходные - где просто список номеров дней, в которые орг-ия не работает.
В целом созаем для себя подобные перечни... 0 - т.е расписание единое на все дни, 8 - будни 9 - выходные.. ну или типо того.
P.S.
Это все как-то не очень удобно. Первый - много колонок, второй - куча записей + сложность обработки при вставке, и выдачи.