Хранение времени работы заведения в БД mySQL

1 000 руб. за проект • электронные деньги
05 сентября 2016, 14:35 • 4 отклика • 33 просмотра
Нужно сделать структуру таблицы для хранения времени работы заведения с последующим поиском по заведениям, которые работают в заданных интервалах.
На кажущуюся простоту задачи, она немного сложнее, чем кажется. Прошу внимательно ознакомиться с задачей.

Примеры работы организаций
Id: 1
Пн-ср: 17:40-19:00
чт.: выходной
Пт.: круглосуточно
Сб.: с 14:00 до 06:00
Вс.: с 23:00 до 06:00
Id: 2
Пн-сб: с 10:00 до 18:00
Вс: выходной
Id:3
Пн-сб: круглосуточно
Вс: выходной

Интервал, в котором работает заведение, может быть любое (в пределах недели и 24 часов)
Нужно сделать табличку, в которой будут храниться эти данные, и показать несколько запросов для выбора из этой таблицы.
Вот несколько примеров, которые нужно выбрать
1. Выбрать id заведения которое работает с 2 до 4 пт –вс ( id:1,3)
2. Выбрать id заведения которое работает с 15 до 18 сб (id:1,2)
3. Выбрать id заведения которое работает с 18 до 20 чт-пт ( id:3)
4. Выбрать заведения которые работают сейчас (предположим что сейчас 01:00)

Тригеры, функции использовать очень не хочется. Также не подойдут варианты, в которых нельзя использовать индексы (в том числе битовые маски)
Вариант хранения данных может быть любой т.к. запрос будет формироваться php. Главное чтобы выборки работали быстро и правильно.