Вам необходимо построить БД для фирмы, которая владеет сетью гостиниц, находящихся в разных городах (странах). БД позволяет бронировать номера в гостиницах с указанием перечня необходимых дополнительных услуг (завтрак в номер, дополнительная кровать и др). По желанию клиента администратор может перенести бронь из одной гостиницы сети в другую, но не позднее, чем за 20 дней до заезда.
Задание 21 База данных предназначена для работников гостиницы и обеспечивает в режиме диалога доступ к информации о клиентах, проживающих в номерах гостиницы и их регистрации во время приезда, о возможности бронирования номера, а также постановке в очередь на конкретный гостиничный номер. База данных позволяет работникам гостиницы повысить эффективность своей работы за счет систематизации и быстрого поиска нужной им информации.
Структура базы данных
База данных создана в среде разработки Microsoft Access 2000. Она содержит 3 таблицы, 25 запросов для извлечения информации, 19 форм для ввода и просмотра информации, и 8 отчетов.
База данных «Гостиница» состоит из следующих таблиц: «Nomer» (Номер), «Projivaniya» (Проживания), «Klient» (Клиент).
Таблица «Nomer» содержит информацию о номерах гостиницы: стоимости проживания в сутки за одно койкоместо, номер телефона, состояние номера, т.е. количество человек в номере на конкретный период времени (от 1 до 3), тип номера (одноместный, двухместный или трехместный) и этаж, на котором находится номер.
Структура таблицы приведена на рисунке 1.
Таблица «Klient» представляет собой анкету, в которой хранится информация о приезжающих в гостиницу клиентах: номер паспорта, фамилия имя отчество, город из которого прибыл гость, а также место работы (данная информация предоставляет возможность предъявить организации, где работает клиент квитанцию со штрафом, если гость гостиницы не выполнил условия гостиницы или проживания, например, отказался от заранее забронированного номера и не предупредил администратора по телефону, либо причинил порчу имущества и не оплатил размер ущерба на месте). Затем указывается дата прибытия гостя, количество дней, на которое он рассчитывает остаться, и номер, в который его заселит администратор. Структура таблицы приведена на рисунке 2.
Рисунок 2
Таблица «Projivaniya» главная таблица БД, так как она содержит в себе информацию из таблицы «Klient» и таблицы «Nomer». Данная таблица содержит информацию о клиентах, которые стоят в очереди на гостиничный номер, о забронированных номерах, даты выбытия клиента из номера (которая дает возможность администратору, заступившему на смену увидеть, кто из проживающих должен покинуть номер, либо продлить сроки проживания), и отказ от забронированного номера.
Структура таблицы приведена на рисунке 3.
Рисунок 3
Схема данных и описание связей между таблицами БД
После создания таблиц их следует связать. Окно “Схема данных” наглядно отображает связи между таблицами. На рисунке 4 изображена схема данных проектируемой БД, а в таблице «Описание связей между таблицами БД» описаны связи между таблицами. Схема данных (рисунок 4):
Рисунок 4
Таблица «Описание связей между таблицами БД»
Таблица
Внутренний ключ
Таблица
Внешний ключ
Тип связи
Клиент (Klient)
Код клиента (ID_Klient)
Проживания (Projivaniya)
Код клиента (ID_Klient)
1:М
Номер (Nomer)
Код номера (ID_Nomer)
Проживания (Projivaniya)
Код номера (ID_Nomer)
1:М
Структура интерфейса пользователя
База данных содержит следующие формы:
“Бронь” - форма для бронирования номера и постановке клиента в очередь на номер, а также получение счета за проживание и штрафа за отказ от брони.
“Время_отъезда” - содержит информацию о дате отъезда клиента из номера и дате постановки в очередь.
“Главная кнопочная форма” - главная кнопочная форма, с которой начинается работа с БД;
“Документы”- данная форма содержит кнопки, нажав на которые можно получить отчеты о: работе гостиницы в определенный период времени, журнал регистрации проживающих в гостинице, счета за проживание, в том числе и с бронью, а также квитанции со штрафами за отказ от забронированного номера.
“Запрос клиента”- данная форма содержит информацию о номерах и о датах отъезда и постановке в очередь на эти номера.
“Кол-во мест в одноместных/двухместных/трехместных номерах ” - информация о количестве свободных мест в соответствующих номерах;
“Номер для изменения” - просмотр информации о проживающих в заданном номере;
“Номер - Проживающий” - форма для поселения и выселения проживающих, бронирование номера, получение счета за проживания, просмотр запроса клиентов на определенный номер;
“Проживающие в заданном номере” - форма для вывода всех проживающих в заданном номере;
“Проживающие подчиненная форма” - просмотр сведений о проживающих;
“Список номеров” - вывод списка номеров;
“Список прибывших из заданного города” - вывод списка прибывших из заданного города”;
“Стоимость проживания” - выдача счета за проживание, заданному проживающему;
“Счет с бронью” - выдача счета за проживание, заранее забронированного номера, заданному проживающему;
“Штраф” - выдача квитанции за отказ от бронирования номера.
Для обеспечения требуемой функциональности используются следующие запросы:
“Главный”- отбор информации необходимой для поселения клиентов в номера и указания существования у этого клиента брони или очереди на номер;
“Количество мест в одноместных/двухместных/трехместных номерах” - отбор информации о количестве свободных мест в номерах заданного типа;
“Проживающие в заданном номере” - отбор информации о всех проживающих в заданном номере;
“Результирующий отчет о работе (на основе 4-х отчетов)” - отбор информации для отчета о работе гостиницы, за указанный период;
“Свободные номера” - отбор информации для вывода списка свободных номеров;
“Список прибывших из заданного города” - отбор информации о проживающих, прибывших из заданного города;
“Стоимость проживания” - отбор информации для выдачи справки о счете за проживание, заданному проживающему;
“Сумма дохода” - Сумма дохода гостиницы за определенный период;
“Сумма дохода (подзапрос)” - подзапрос, соответствующего запроса;
“Число занятых номеров” - отбор информации о количестве занятых номеров за определенный срок;
“Число занятых номеров (подзапрос)” - подзапрос для соответствующего запроса;
“Число клиентов” - отбор информации о числе клиентов за определенный срок;
“Число клиентов(подзапрос)” - подзапрос для соответствующего запроса;
Назначение базы данных
База данных предназначена для работников гостиницы. В БД должны храниться сведения о проживающих клиентах, о номерах и о возможности забронировать номер, а также постановке в очередь на конкретный номер. Имеются номера трех типов: одноместный, двухместный и трехместный, отличающиеся стоимостью проживания в сутки. Количество номеров в гостинице известно.
О каждом проживающем должна храниться следующая информация: номер паспорта, ФИО, город, из которого он прибыл, дата поселения в гостинице, выделенный гостиничный номер, на сколько дней выделен номер. Каждый номер характеризуется типом, стоимостью проживания, номером телефона. Номера упорядочены по этажам. Работа с БД предполагает обслуживание следующих запросов:
- определение количества свободных мест и свободных номеров,
- получить список прибывших из заданного города,
Администратор БД может вносить следующие изменения:
- освобождение номера проживающим;
- бронирование номеров и постановка в очередь на конкретный номер;
Необходимо предусмотреть возможность выдачи справки о счете за проживание в гостинице определенного клиента и отчета о работе гостиницы за указанный срок (число клиентов, сколько дней был занят номер, сумма дохода гостиницы), о кол-ве свободных номеров гостиницы, о выданных штрафах за невыполнение условий бронирования номера.
проектирование база данное microsoft access
Начало и завершение работы с базой данных
Работа начинается с того, что Вам будет представлена информация, приведенная на рисунке 5.
Рисунок 5
Для того чтобы поселить клиента в нужный номер, а также забронировать номер или встать в очередь необходимо нажать на кнопку Поселение/Выселение (рисунок 5). После чего откроется диалоговое окно (рисунок 6), в котором изображена вся необходимая администратору информация. Все необходимые документы и отчеты, которые могут понадобиться для отчетности работы гостиницы, удобно разместить на отдельной форме, а доступ к этой информации производится нажатием на кнопку Документы (рисунок 15).
Рисунок 6
Как видно, на рисунке изображено 6 кнопок, благодаря которым можно получить доступ к необходимой информации. Кнопка «Прибывшие из заданного города» позволяет вывести информацию обо всех клиентах, прибывших из того города, который администратор введет в окно (рисунок 7):
Рисунок 7
Если, например, администратор ввел город Псков, то появится информация о клиентах прибывших из этого города, их ФИО, номер паспорта, номер в котором они проживают, а также дата, когда они прибыли в гостиницу (рисунок 8).
Рисунок 8
Кнопка «Проживающие в заданном номере» (рисунок 9) позволяет ускорить процесс поиска клиента по номеру, где тот проживает. Кнопка действует по тому же принципу, что был описан выше.
Рисунок 9
Кнопки «Счет за проживание» и «Счет за проживание с бронью» (рисунок 11) позволяют выдавать квитанции за проживание в номерах гостиницы. Так как услуга бронирование номера составляет 100 рублей за заявку, то счет за проживание клиента увеличивается на эту сумму. Если же клиент встал в очередь на номер и забронировал его, но не прибыл в назначенный день и не предупредил заранее об отказе от брони, то такому клиенту высылается фиксированный штраф в размере 100 рублей. Для получения квитанции об оплате за проживание в номере администратору будет предложено ввести фамилию и инициалы клиента (рисунок 10, 10.1).
Рисунок 10
Рисунок 10.1
Рисунок 11
Кнопка «Бронирование» позволяет администратору забронировать номер для клиента, но для этого нужно просмотреть наличие свободных номеров, причем запрос клиента может быть конкретно на одноместный, двухместных либо трехместный номер. Затем можно забронировать место в нужном номере и в состоянии номера изменить количество свободных мест. Вся эта процедура займет минимальное количество времени у администратора благодаря удобному интерфейсу и быстрому доступу к необходимой информации. Итак, для того чтобы забронировать номер или поставить клиента в очередь на номер необходимо: нажать на кнопку «Бронирование», затем в появившемся окне (рисунок 12) выбрать нужный номер (доступ к информации о свободных одноместных, двухместных и трехместных номерах производится одним нажатие кнопки мыши по группе переключателей). Затем, нажав на кнопку «Бронирование» в этом же окне внести необходимую информацию о клиенте, не забывая сделать пометку в окошке бронь или очередь (рисунок 13).
Рисунок 12
Рисунок 13
Кнопка «Состояние номера» может послужить администратору тем, что с помощью открывшегося окна можно просмотреть информацию о дате отъезда из номера и о наличии очереди на него. Данная информация может быть полезна в случаях, когда клиенту будет необходимо забронировать конкретный номер на определенный момент времени. Поэтому администратор, щелкнув мышью на крестике, напротив номера, может увидеть свободен ли будет этот номер и сказать о ситуации клиенту (рисунок 14).
Рисунок 14
Рисунок 15
Для удобства я разместила все документы необходимые для отчетности на отдельной форме «Документы». Доступ к документам производится одним нажатием кнопки мыши, так что администратор не должен иметь никаких затруднений.
«Журнал регистрации проживающих» - при нажатии на кнопку выполняется команда макроса «журнал_регистрации» (рисунок 16) и открывается соответственно отчет «журнал_регистрации_проживающих»[1], в котором изображена вся информация о клиентах.
Рисунок 16
«Отчет о работе гостиницы» - открывает отчет «результирующий отчет о работе (на основе 4-х отчетов)» [2] при помощи команды макроса «отчет_гостиницы». Но при этом предлагается ввести начальную и конечную даты (рисунок 17, 18), на основе чего получается отчет, в котором отображается информация на введенный момент времени, а именно число занятых номеров, сумма дохода гостиницы, число клиентов, проживающих на тот момент времени.
Рисунок 17
Рисунок 18
«Счета за проживание» - при нажатии на кнопку выполняется команда макроса «счета» и открывается отчет «счета»[3], в котором находятся все квитанции об оплате.
«Счета за проживание с бронью» - при нажатии на кнопку выполняется команда макроса «счета(с бронью)» и открывается отчет «счет_с_бронью»[4], в котором находятся все квитанции об оплате клиентов, которые заранее бронировали номер.
«Штрафы за отказ от брони» - открывается отчет «все_штрафы»[5] при выполнении команды макроса по тем же названием, что и имя отчета.