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

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

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



В°ктерные для рабочих станций их сети строки агентов пользователей. Это несколько усилит данный механизм обеспечения безопасности.

3.1.1.2 Разработка структуры пользовательских сеансов

ER-диаграмма устройства пользовательской сессии представлена на рисунке 3.1.

Рисунок 3.1 - ER-диаграмма пользовательской сессии

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

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

НазваниеТип данныхОписаниеid_sessionintИдентификатор сессии. Первичный ключid_userintИдентификатор пользователя. Указывает непосредственно на зарегистрированного пользователя, к которому относится сессияascii_session_idvarchar (32) 32-символьный идентификатор сессииlogged_inboolФлаг, говорящий о том, авторизовался ли пользователь под этой сессиейlast_impressiondatetimeВремя и дата последнего запроса к странице в течение сеансаcreateddatetimeВремя создания сессииuser_agentvarchar (255) Содержит информацию о пользовательском агенте (броузер и пр.)

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

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

НазваниеТип данныхОписаниеid_sessionintИдентификатор сессии. Указывает на сессию, к которой относится переменнаяid_variableintИдентификатор переменной. Первичный ключvariable_namevarchar (70) Имя переменнойvariable_valuetextЗначение переменной

Регистрационная информация хранится в таблице user (таблица 3.3). Для обеспечения большей безопасности пароль хранится в базе данных в зашифрованном состоянии (используемый метод шифрования - md5), на тот случай, если злоумышленник получит доступ к этим данным.

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

Названиетип данныхОписаниеid_userintИдентификатор пользователя. Первичный ключ. usernamevarchar (32) Имя пользователя (логин). md5_pwvarchar (32) Пароль

Структура также предусматривает последующее расширение функциональности системы, а именно введение различных уровней доступа. Для этого дополнительно спроектированы таблицы access (таблица 3.4) и таблица to_access (таблица 3.5). Они описывают разделы, к которым можно настроить права доступа и определяют непосредственно сам уровень.

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

Названиетип данныхОписаниеid_userintИдентификатор пользователя. Указывает на пользователя, к которому относятся праваto_accessintИдентификатор раздела, к которому осуществляется доступ. Указывает на раздел, к которому относятся права. access_levelintУровень доступа

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

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

На основе описанной структуры спроектирован класс UserSession (код можно посмотреть в приложении А). Он является модульным компонентом, удобным для повторного использования. Его легко можно включить практически в любой проект, связанный с поддержкой сеансов или аутентификацией зарегистрированных пользователей.

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

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

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

Центральным элементом в структуре гостиниц является таблица hotel (таблица 3.6).

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

Названиетип данныхОписаниеid_hotelintИдентификатор гостинцы. Первичный ключ. id_adressintИдентификатор адреса. По нему находится адресная информация о гостинице. id_metaintИдентификатор мета-данных. По нему находится информация о мета-тегах гостиницы. id_createdintИдентификатор создания. По нему находится информация о первом внесении информации о гостинице в базу данных. id_modifyintИдентификатор изменений. По нему находится информация о последних изменениях данных о гостинице. id_hotel_typeintИдентификатор типа гостиницы. По нему находится информация о типе гостиницы (гостиница/отельтАж). id_serviceintИдентификатор услуг. По нему находится информация об услугах, предоставляемых гостиницей. id_reservingintИдентификатор бронирования. По нему находится информация об условиях бронирования гостиницы. id_publishintИдентификатор публикования. По нему находится информация о необходимости размещения информации о гостинице в общий доступ. namevarchar (70) Название гостиницы. starsintКатегории гостиницы (уровень звездности). numbersintОбщее количество номеров в гостинице. descriptiontextОписание гостиницы. sort_numintНомер списка. Используется для сортировки гостиниц.

Важными не только для описания гостиниц являются таблицы publish (таблица 3.7), modify (таблица 3.8), created (таблица 3.9), metas (таблица 3.10). Ссылки на них будут встречаться и в дальнейшем.

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

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