Я хочу построить таблицу, которая будет отслеживать аренду автомобилей.
Допустим, у нас следующая ситуация:
Автомобиль А забронирован на 2018-09-20 и будет использоваться с 2018-10-21 по 2018-10-29.
Предположим, у нас есть тысячи заказов на автомобиль А или автомобиль Х.
Система должна обрабатывать три разных типа поиска по дате:
- Заказано: От - До
- Используется с: с - по
- Используется для: от - до
Обратите внимание, что нельзя одновременно выполнить оба этих поиска.
Пользователь должен выбрать один тип и выполнить поиск.
Я знаю, что ключ сортировки не может выглядеть так:
BOOKED_AT_2018-09-20 # USED_FROM_2018-10-21 # USED_TO_2018-10-29.
Таким образом, мы делаем между / <=,> = и разделяем их разделителями в зависимости от
тип поиска невозможен (, если что-то не изменилось ).
Пока я думаю, что могу добавить три разных записи для каждого проката автомобиля.
Наличие идентификатора автомобиля в качестве PK и последующая вставка трех разных записей ключей сортировки для каждого бронирования,
это BOOKED_AT, BOOKED_FROM, BOOKED_TO.
Каждый из этих трех ключей сортировки имеет одинаковый
значение атрибута BOOKING_DETAIL_ID, которое используется для получения сведений о бронировании.
Примерно так:
Таблица будет включать в себя больше данных, но я подумал, что я должен сделать это проще ...
Кто-нибудь делал что-то подобное с тремя разными типами даты поиска? (очевидно, у кого-то есть ...)
Может ли это быть решено с помощью индексов глобального поиска или чего-то еще?
PS Попытка избежать фильтра в запросе.