- •Пояснительная записка
- •1. Проектирование бд методом “Сущность-Связь”
- •Постановка задачи
- •Анализ предметной области
- •Для выполнения к/р нам понадобится как минимум 4 основных сущности:
- •Разработка окончательной структуры базы данных
- •Следовательно нам понадобятся следующие сущности:
- •1)Клиент(фио , № паспорта , город прибытия , дата поселения , номер где клиент остановился)
- •2)Номер(идентификатор[номер] номера , количество жилых мест номера , № этажа , количество проживающих в номере, цена номера)
- •1)Клиент(фио , № паспорта , город прибытия , дата поселения , номер где клиент остановился)
- •2)Номер(идентификатор[номер] номера , количество жилых мест номера , № этажа , количество проживающих в номере)
- •2. Структура базы данных
- •2)Таблица “Номер” определяет id_номера , его тип , телефон , этаж и количество проживающих в нем на данный момент человек
- •3. Система иерархии интерфейса
- •3.1.База данных содержит следующие формы:
- •3.2. Описание экранных форм:
- •4. Описание запросов
- •4. Описание отчетов
2)Таблица “Номер” определяет id_номера , его тип , телефон , этаж и количество проживающих в нем на данный момент человек
3) Таблица “Этаж” содержит информацию о всех этажах номера , а также служит своего рода звеном в цепочке Клиент-Служащий
4) Таблица “Цена номера” сопоставляет каждому номеру его цену в зависимости от его типа
5) Таблица “Служащий” содержит всю информацию о служащем гостиницы
5)Таблица “Когда и где дежурить” определяет порядок дежурства служащих в течении недели
6) Таблица “B”(от англ.Backup) содержит информацию(номер , дата прибытия , дата отбытия) о всех клиентах проживавших когда-либо в гостинице. Таблица нужна для избежания потери информации о доходах в квартальном отчете.
3. Система иерархии интерфейса
3.1.База данных содержит следующие формы:
-“БД гостиницы "ЛЭТИ"” - главная кнопочная форма, с которой начинается работа с БД;
-“Клиент” – основная форма для работы с клиентами. Добавление и удаление данных , а также получение справочной информации хоть как-то относящейся к клиентам производится в данной форме
-“Служащий” - основная форма для работы со служащими. Всю информацию о служащих , их дежурствах можно получить здесь . Добавление в БД новых служащих(и удаление тоже) , изменение графика дежурств проводится здесь же.
-“подчиненная форма Когда и где дежурить” – предназначена для получения данных о графике дежурств служащих в форме “Служащий”
-“Поиск” – предназначена для всевозможных вариантов поиска записей в БД
-“Форма_отчетов” – предназначена для получения основных отчетов описанных в задании
3.2. Описание экранных форм:
Главная форма БД:
Назначение: доступ ко всем основным экранным формам БД
Источник данных: нет
Подробное описание: форма выводится на экран автоматически при запуске .mdb файла. При нажатии на кнопку “Работа с клиентами” пользователь переходит к форме работы с клиентами. При нажатии на кнопку “Информация о служащих” пользователь переходит к форме работы со служащими. При нажатии на кнопку “Поиск в базе данных” пользователь переходит к форме поиска в БД. При нажатии на кнопку “Работа отчетами” пользователь переходит к форме работы с отчетами.
Форма “Клиент”
Внешний вид:
Назначение: предоставление пользователю БД удобного интерфейса для работы с клиентами гостиницы
Источник данных: таблица “Клиент”
Подробное описание: для списка “выбрать клиента” используется SQL запрос “SELECT Клиент.GUEST_FIO FROM Клиент; ”. Использование этого списка удобнее чем переход по записям с помощью кнопок перехода. Кнопка “Найти клиента” предназначена для поиска клиентов в БД по заданным параметрам. При нажатии активизируется стандартная процедура обработки событий. “ФИО клиента” , “Номер паспорта” , “Город прибытия” , “Дата поселения” , “Номер комнаты” – все эти поля получают свои значения из таблицы “Клиент”(ВНИМАНИЕ – изменение данных о клиентах производится в этой таблице). Кнопка “Выписка по счету” предназначена для получения счета для клиента на оплату номера. При нажатии активизирует макрос “Изменение данных клиента.Выписка_по_счету”. Поле со списком “Номер комнаты” позволяет выбрать(при поселении клиента) только те номера в которых свободно хотя бы 1 место – это , вкупе с дополнительной подчиненной формой(см. далее) позволяет оперативно поселять клиентов , учитывая при этом их пожелания. Данные для вывода это поле получает из запроса “Свободные_номера”. Кнопка “Выселить клиента” предназначена для удаления записи клиента из БД. При нажатии активизируется стандартная процедура обработки событий и выводится предупреждение вида:
При нажатии кнопки “Да” запись удаляется.
Форма “подчиненная форма НОМЕР”
Внешний вид:
Назначение: улучшение информативности формы “Клиент”
Источник данных: SQL-запрос “SELECT НОМЕР.ROOM, НОМЕР.KOL_MEST, НОМЕР.FLOUR, НОМЕР.LIVE, [Цена номера].COST FROM [Цена номера] INNER JOIN НОМЕР ON [Цена номера].KOL_MEST=НОМЕР.KOL_MEST; “
Подробное описание: эта форма позволяет получить оперативный доступ таким данным как “ID номера” , “Количество жилых мест в номере” , “Сколько мест занято в номере” , “Стоимость 1 дня проживания в номере” не пользуясь отчетами и иными средствами.
Форма “Служащий”
Внешний вид:
Назначение: предоставление пользователю БД удобного интерфейса для работы со служащими гостиницы
Источник данных: Таблица “Служащие”
Подробное описание: Поля “ФИО” , “Дата приема на работу” и “Идентификатор служащего” получают свои значения из таблицы “Служащие”. Поля “Рабочий день недели” и “Этаж” из “Графика дежурств” берутся из подчиненной формы “подчиненная форма Когда и где дежурить”. Для перемещения по служащим служат кнопки перехода по записям , расположенные в самом низу формы. Доступ к новой записи происходит при нажатии кнопки .ВНИМАНИЕ – в данной форме добавление и редактирование данных о служащих а так же их дежурствах осуществляется непосредственно в форме. Поле со списком “Список служащих” получает свои значения изSQL-запроса “SELECT Служащий.WORK_FIO FROM Служащий;” и служит для более удобной навигации среди фамилий служащих. Кнопка “Поиск служащего” предназначена для поиска служащих в БД по заданным параметрам. Кнопка “Уволить служащего” предназначена для удаления записи служащего из БД. При нажатии активизируется стандартная процедура обработки событий и выводится предупреждение вида:
При нажатии кнопки “Да” запись удаляется.
Форма “подчиненная форма Когда и где дежурить”
Внешний вид:
Назначение: подчиненная форма
Источник данных: Таблица “Когда и где дежурить”
Подробное описание: поля “Рабочий день недели” и “Этаж” получают свои значения из таблицы “Когда и где дежурить”. Добавление и удаление записей из этой формы возможно , но непосредственно с ней пользователь работает только в составе с формой “Служащие”.
Форма “Форма отчетов”
Внешний вид:
Назначение: Формирование и вывод отчетов описанных в задании
Источник данных: нет
Подробное описание: В поля “Начальная дата” и “Конечная дата” группы “Отчет за выбранный период” вводятся даты для формирования квартального(в нашем случае период может быть произвольным) отчета. При нажатии кнопки “Вывести отчет” активизируется макрос “Отчеты.Глоб_отчет” и квартальный отчет выводится на экран. При нажатии кнопки “Вывести отчет” для группы “Отчет по всем номерам гостиницы” активизируется макрос “Отчеты.По_номерам” и отчет по номерам выводится на экран.
Форма “Поиск”
Внешний вид:
Назначение: Выборка сведений из БД на основе заданных пользователем критериев
Источник данных: нет
Подробное описание: В группе “Поиск клиента” пользователь имеет возможность выбрать и задать критерий поиска по которому он хочет найти клиента путем переключения переключателей “по номеру” , “по городу” и ввода значений в соответствующие поля. При нажатии кнопки с изображением бинокля для группы “Поиск клиента” активизируется макрос “Поиск.Выбор_номер_или_город” и результаты поиска выводится на экран.
Для полей группы “Поиск служащего” значения берутся : для “по дню недели” – из набора фиксированных значений "понедельник";"вторник";"среда";"четверг";"пятница";"суббота";"воскресенье";
для “фамилии клиента” – из SQL-запроса “SELECT Клиент.GUEST_FIO FROM Клиент;”
При нажатии кнопки с изображением бинокля для группы “Поиск служащего” активизируется макрос “Поиск.Вывод_служ” и результаты поиска выводится на экран.