Система бронирования мест в отелях города

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



упает таблица phone (таблица 3.18). Важно, что структура предусматривает различные типы телефонов, например: факс, обычный телефон, многоканальный телефон. Соответствующая информация хранится в таблице phone_type (таблица 3.19).

Таблица 3.18 - Описание таблицы street_type базы данных

Названиетип данныхОписаниеid_phoneintИдентификатор телефона. Первичный ключ. id_phone_typeintИдентификатор типа телефона. codeintКод телефона. numberintНомер телефонаdescriptionvarchar (255) Описание телефона

Таблица 3.19 - Описание таблицы phone_type базы данных

Названиетип данныхОписаниеid_phone_typeintИдентификатор типа телефона. Первичный ключ. namevarchar (10) Название типа телефона.

Многие гостиницы имеют несколько телефонов, поэтому для обеспечения связи "многие ко многим" используется дополнительная таблица hotel_phone (таблица 3.20), а для того, чтобы различать телефоны между собой можно хранить описание телефонов в таблице phone.

Таблица 3.20 - Описание таблицы hotel_phone базы данных

Названиетип данныхОписаниеid_hotelintИдентификатор гостиницы. id_phoneintИдентификатор телефона.

Основным классом, использующимся для описания этой структуры, является класс Phone. Его код можно найти в приложениях.

3.1.2.3 Разработка структуры представления номеров гостиниц

По желанию заказчика система предусматривает введение информации о различных номерах гостиницы. Соответствующую этому ER-диаграмму можно увидеть на рисунке 3.5.

Рисунок 3.5 - ER-диаграмма номеров гостиницы

Естественно, здесь главным элементом выступает таблица number (таблица 3.21). Именно в ней заложена связь номеров с соответствующими им гостиницами (поле id_hotel). В структуре присутствуют уже встречавшиеся ранее таблицы publish (таблица 3.7), modify (таблица 3.8) и created (таблица 3.9). Они предназначены для определения необходимости вывода информации о номере, хранения информации о последних изменениях и о создании соответственно.

Таблица 3.21 - Описание таблицы number базы данных

Названиетип данныхОписаниеid_numberintИдентификатор номера. Первичный ключ. id_hotelintИдентификатор гостиницы. Указатель на гостиницу, к которой относится номер. id_publishintИдентификатор публикования. По нему находится информация о необходимости размещения информации о номере в общий доступ. id_createdintИдентификатор создания. По нему находится информация о первом внесении информации о номере в базу данных. id_modifyintИдентификатор изменений. По нему находится информация о последних изменениях данных о номере. namevarchar (70) Название номера. num_of_numbersintКоличество номеров соответствующего типа. descriptiontextОписание номера. list_numintСортировочный номер. Требуется для сортировки номеров в списке между собой.

Для хранения информации о стоимости каждого из номеров требуется 2 таблицы: period (таблица 3.22) и price (таблица 3.23). Дело в том, что в различные периоды спрос на гостиницы различен, а значит различны и цены, поэтому за счет таблицы period задается интервал, которому будет соответствовать цена, а за счет таблицы price уже непосредственно сама стоимость проживания.

Таблица 3.22 - Описание таблицы period базы данных

Названиетип данныхОписаниеid_periodintИдентификатор периода. Первичный ключ. id_hotelintИдентификатор гостиницы. Указывает, к какой гостинице относится данный период. start_datedateДата с которой будут вступать в действие соответствующие периоду цены. finish_datedateДата до которой будут действительны соответствующие периоду цены.

Таблица 3.23 - Описание таблицы price базы данных

Названиетип данныхОписаниеid_priceintИдентификатор цен. Первичный ключ. id_numberintИдентификатор номера. Указывает, к какому номеру относятся цены. id_periodintИдентификатор периода. Указывает на период к которому относятся цены. priceintСтоимость одноместного размещения. price2intСтоимость двухместного размещения.

Для обеспечения представленного в структуре функционала разработан ряд классов. Их код можно найти в приложениях. Основным классом среди них является класс Number.

3.1.3 Разработка структуры представления заявок

Важным элементом является система заявок на бронирование номеров в отелях города. Ее структура представлена на рисунке 3.6.

Рисунок 3.6 - ER-диаграмма номеров гостиницы

Центральным элементом в структуре выступает таблица demand (таблица 3.24). Она содержит в себе всю необходимую информацию или ссылки на нее. В частности в ней содержатся идентификаторы бронируемых гостиницы и номера в ней. Это не избыточные связи. Дело в том, что бывают случаи, когда клиент выбрал гостиницу, но не определился с номером в ней.

Таблица 3.24 - Описание таблицы demand базы данных

Названиетип данныхОписаниеid_demandintИдентификатор заявки. Первичный ключ. Id_personintИдентификатор личности. Указатель на информацию о человеке, сделавшем заказ. Id_phoneintИдентификатор телефона. Указатель на информацию о телефоне для связи. Id_statusintИдентификатор статуса заявки. Определяет степень обработки заявки (не рассмотрена, в обработке, выполнена и т.д.) id_price_typeintИдентификатор типа оплаты. Определяет предпочитаемый клиентом способ оплаты. Id_transferintИдентификатор трансфера. Определяет требуются ли клиенту трансферные услуги. Id_hotelintИдентификатор гостиницы. Указывает на гостиницу, в которой желает поселиться клиент. Id_numberintИдентификатор номера. Указывает на номер, в котором желает поселиться клиент. Id _connection_typeintИдентификатор типа связи. Определяет предпочитаемый клиентом способ связи (e-mail, телефон и прочие). Commentsvarchar (255) Комментарии, которые может оставить к заявке администратор. Min_priceintМинимальна