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

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

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

Для того чтобы скачать эту работу.
1. Подтвердите что Вы не робот:
2. И нажмите на эту кнопку.
закрыть



(70) Название страны.

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

Названиетип данныхОписаниеid_cityintИдентификатор города. Первичный ключ. id_countryintИдентификатор страны. Указывает на страну, к которой относится город. cityvarchar (70) Название города.

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

Названиетип данныхОписаниеid_regionintИдентификатор раона. Первичный ключ. id_cityintИдентификатор города. Указывает на город, к которому относится район. regionvarchar (70) Название района.

В таблице street_type (таблица 3.17) хранится информация о типе улицы. Например: улица, проспект, переулок, шоссе и т.д.

 

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

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

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

 

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

Очередным универсальным элементом, который необходимым, в том числе и гостиницам, является телефон. Описывающая его ER-диаграмма представлена на рисунке 3.4.

 

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

 

Основой структуры выступает таблица 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Минимальная цена, которую готов платить клиент за проживание. Max_priceintМаксимальная цена, которую готов платить клиент за проживание. WishestextДополнительные пожелания клиента.

В таблице demand содержится ряд указателей на таблицы, которые помимо идентификатора содержат лишь поле name: transfer (таблица 3.25), status (таблица 3.26), price_type (таблица 3.27), connection_type (таблица 3.28). Все эти таблицы содержат строго определенный заказчиком перечень значений, который представлены в соответствующих таблицах (список значений может быть расширен).

 

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

Названиетип данныхОписаниеid_transferintИдентификатор трансфера. Первичный ключ. namevarchar (40) Возможные значения: Без трансфера, От аэропорта до гостиницы, От вокзала до гостиницы.

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

Названиетип данныхОписаниеid_statusintИдентификатор статуса заявки. Первичный ключ. namevarchar (40) Возможные значения: Не рассмотрена, Отклонена, В обработке, Выполнена.

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

Названиетип данныхОписаниеid_price_type intИдентификатор типа оплаты. Первичный ключ. namevarchar (70) Возможные значения: Наличными, Перевод от физического лица, Перевод от юридического лица.

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

Названиетип данныхОписаниеid_connection_typeintИдентификатор типа связи. Первичный ключ. namevarchar (20) Возможные значения: По телефону, По электронной почте, С помощью icq.

Также для полного описания заявки используется описанная ранее таблица phone (таблица 3.18) и таблица person (таблица 3.29), содержащая необходимую информацию непосредственно о клиетне.

 

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

Названиетип данныхОписаниеid_personintИдентификатор личности. Первичный ключ. id_cityintИдентификатор города. Указывает на город, из которого приезжает клиент. surnamevarchar (70) Фамилия клиента. namevarchar (70) Имя клиента. emailvarchar (150) Электронный адрес клиента.

Основным классом, обеспечивающим в данной структуре заявленную функциональность выступает класс Demand.

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

 

Помимо основного функционала, согласно требованиям заказчика необходимо предусмотреть расширение системы.

 

3.2.1 Разработка структуры фотогалереи

Полезным элементом при описании гостиниц и не тольк