Система бронирования мест в отелях города
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
упает таблица 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Минимальна