@accountnujen

Как в таблице хранить свободные даты для номеров в гостинице?

Не совсем гостиница. Скорее booking или airbnb - то есть количество номеров внушительное.
Нужно узнать о свободных номерах на заданный период времени (условно, с 20 марта по 25 марта). То есть отразить те гостиницы, в которых заданные дни свободны.

1. Как должна выглядеть структура таблицы свободных и занятых дат?
2. И как должна выглядеть структура стоимости номеров, если весь месяц может быть одна стоимость, а на праздники - другая стоимость?

Я должен создавать для каждого арендуемого объекта отдельную таблицу, где каждая запись будет соответствовать каждому дню? Просто в моём понимании, выборка может занимать длительное время. Разумеется это быстрее, чем если бы я имел таблицу "Объекты", где каждая запись - это гостиница, а в столбце, в формате json, хранил бы массив с днями - это уже совсем клиника.
  • Вопрос задан
  • 134 просмотра
Пригласить эксперта
Ответы на вопрос 1
@ReFeRy
Для решения именно указанной задачи можно иметь в БД заранее сформированные таблицы по каждому запросу и гостиницам, в которых в принципе есть подходящие номера.
К примеру:
Запрос: "2 взрослых +1 ребенок", на него имеем таблицу с идентификаторами всех гостиниц, в которых есть удовлетворяющие этому запросу номера.
А потом в момент оформления заказа отмечаем в отдельной таблице, что именно в этой вот гостинице на такую-то дату не осталось номеров по такому-то запросу.
Как итог, в любой момент одним запросом можно найти все гостиницы, которые удовлетворяют запросу и про которые на указанные даты нет записей, что все подходящие под запрос номера заняты.

Что-то сложно навернул. Надо прикидывать конкретную структуру БД и на ней уже решать все типичные задачи.

P.S. Возникает ощущение, что вы хотите обязательно искать в БД запись о том, что что-то есть, а ведь можно проверять отсутствие нужной записи =)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы