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

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

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



?я с помощью таблицы publish.

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

Названиетип данныхОписаниеid_publishintИдентификатор публикования. Первичный ключ. publishboolФлаг публикования. Ноль - не выводить на сайте. publish_startdatetimeВремя с которого можно выводить информацию на сайте (если publish=1). publish_finishdatetimeВремя до которого можно выводить информацию на сайте.

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

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

Названиетип данныхОписаниеid_modifyintИдентификатор изменений. Первичный ключ. id_userboolИдентификатор пользователя. Указывает на пользователя, внесшего соответствующее изменение. modify_datedatetimeВремя последнего изменения.

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

Названиетип данныхОписаниеid_createdintИдентификатор создания. Первичный ключ. id_userboolИдентификатор пользователя. Указывает на пользователя, внесшего соответствующее изменение. create_datedatetimeВремя создания.

Согласно требованиям заказчика необходимо обеспечить возможность редактирования мета-тегов для страниц с описанием гостиниц. Соответствующая информация хранится в отдельно выделенной таблице metas.

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

Названиетип данныхОписаниеid_metaintИдентификатор мета-данных. titleboolЗаголовок Интернет-страницы. keywordsdatetimeКлючевые слова Интернент-страницы. descriptionОписание Интернет страницы.

Дополнительная информация о гостинице хранится в отдельных таблицах. Так, для описания условий бронирования каждой из гостиниц служит таблица reserving (таблица 3.11), а для описания предоставляемых гостиницей услуг - service (таблица 3.12).

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

Названиетип данныхОписаниеid_reservingintИдентификатор условий бронирования. Первичный ключ. conditionsvarchar (255) Условия бронированияannulationvarchar (255) Условия аннуляции. arrival_timedatetimeВремя и дата прибытия (заезда). departure_timedatetimeВремя и дата выезда.

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

Названиетип данныхОписаниеid_serviceintИдентификатор списка услуг. Первичный ключ. excurtionboolЗаказ экскурсий. 24hour_servicebool24ч обслуживание в номерах. car_parkingboolАвтостоянка. currency_exchangeboolОбмен валюты. hairdressingboolПарикмахерская. safeboolСейф у администратора. ticket_reservationboolЗаказ авиа и ж/д билетов. baggage_roomboolКамера хранения багажа. smokingboolКурение в номере. dry_cleanerboolХимчистка. shopsboolМагазины. guard_stationboolПост охраны. transport_reservatuionboolЗаказ транспорта. internet_accessboolДоступ в Интернет. jacuzziboolДжакузи. wash_houseboolПрачечная. first_aid_postboolМедпункт. additionalvarchar (255) Дополнительные услуги, которые не входят в заранее определенный список.

Помимо того, о чем уже упоминалось для полного описания гостиниц требуется еще несколько подструктур, о которых речь пойдет в следующих разделах. На основе этой структуры создан класс Hotel. Его код можно найти в приложении А. В нем уже реализован базовый функционал и структурой предусмотрено его дальнейшее расширение.

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

Структура адреса гостиниц (рисунок 3.3) является универсальной, она не привязана непосредственно к гостиницам и может использоваться где угодно.

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

Центральным элементом в структуре адреса выступает таблица address (таблица 3.13). Она включает в себя, на первый взгляд, избыточную связь с таблицей city (таблица 3.15), но это сделано специально, т.к. ряд городов просто не имеет районов.

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

Названиетип данныхОписаниеid_adressintИдентификатор адреса. Первичный ключ. Id_regionintИдентификатор региона. Id_cityintИдентификатор города. Id_street_typeintИдентификатор типа улицы (улица/проспект/переулоктАж). Street_namevarchar (70) Название улицы. HouseintНомер дома. BuildingintКорпус. ApartmentintНомер квартиры. Post_indexintПочтовый индекс.

Таблицы country (таблица 3.14), city (таблица 3.15) и region (таблица 3.16) служат для описания страны, города и района соответственно.

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

Названиетип данныхОписаниеid_countryintИдентификатор страны. Первичный ключ. countryvarchar (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-диаграмма телефонов гостиницы

Основой структуры выст