Нужны идеи / советы по структуре базы данных - PullRequest
0 голосов
/ 13 января 2011

Давайте подумаем, что у нас более 100 отелей, и в каждом отеле есть как минимум более 3 типов номеров. Я хочу, чтобы вместимость отеля составляла один год в прошлом и один год в будущем. Как мне создать базу данных для простейшего использования .

Пример:

В отеле 30 номеров. 10 х "Стандарт комната ", 10 х" Дуплекс ", 10 х" Делюкс " комната "Я буду держать этот пример на стандартные номера. Сегодня: 13.01.2011 я хочу вести записи с 13.01.2010 до 13.01.2012 Что я буду хранить в База данных свободных номеров. Что-то как это (для стандартного номера):

13.01.2011: 10

14.01.2011: 9 (означает 1 стандартную комнату, проданную за этот день)

15.01.2011: 8 (означает, что на этот день продано 2 стандартных номера)

16.01.2011: 10 (все доступно на этот день)

17.01.2011: 7 (означает 3 стандартных номера, проданных за этот день)

18.01.2011: 10

и т.д ...

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 13 января 2011

Позвольте мне попытаться обобщить ваш вопрос, чтобы понять, правильно ли я его понимаю:

У вас есть набор отелей. Каждый отель имеет множество комнат. Каждая комната принадлежит в один из нескольких возможных номеров Типы. Самый низкий уровень детализации нас интересует вот комната.

Это предполагает таблицу отелей, справочную таблицу типов номеров и таблицу номеров: каждая комната будет иметь ссылку на соответствующий отель и тип номера.

В любой день номер забронированы (проданы) или не забронированы (давайте оставьте неполные дни для простоты с этой точки зрения). За каждый день в год до и год после текущий день, вы хотите знать, сколько номера каждого типа были доступны (не забронированы) в каждый отель.

Теперь, поскольку отели должны иметь возможность просматривать заказы по отдельности, скорее всего, вы будете вести таблицу заказов. Но они обычно определяются комнатой, датой начала и количеством ночей, что не идеально подходит для заявленных вами целей отчетности: оно не разбито по дням.

Таким образом, вы можете захотеть вести таблицу «Журнал бронирования номеров», которая просто содержит запись для каждой комнаты, забронированной на каждый день: это может быть просто столбец с датой и номер комнаты.

Такая схема позволит вам генерировать вывод, который вы относительно легко описывает, с помощью совокупных запросов (например, отображая сумму забронированных номеров за день, сгруппированных по типу отеля и типу номера). Модель также выглядит так, как будто она подойдет для OLAP-куба .

0 голосов
/ 14 января 2011

Я однажды задал такой домашний вопрос.В основном вам нужно по крайней мере 3 стола: один, который содержит комнаты, другой, который содержит резервирование, и другой стол, который связывает тоже, потому что это не конкретная комната, которая зарезервирована в данное время, это определенный тип комнаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...