- •Введение
- •1 ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
- •1.2 Концептуальная модель данных
- •2 ДАТОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БД
- •2.1 Логическое проектирование
- •2.2 Физическое проектирование
- •2.2.1 Создание базы данных в СУБД PostgreSQL
- •2.2.2 Вопросы безопасности данных
- •3 ОПИСАНИЕ ПРИКЛАДНОЙ ПРОГРАММЫ
- •3.1 Создание функций для работы прикладной программы
- •3.2 Внешний вид и описание работы программы
- •3.3 Поиск и манипулирование данными
- •Заключение
- •Список использованных источников
1 ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
1.1Цель автоматизации и описание бизнес-процессов
Вкачестве предметной области для создания базы данных была выбрана система для бронирования номера в гостинице. При проектировании были выделены следующие бизнес-процессы:
•Бронирование номеров для гостей;
•Рассмотрение заявок на заселение;
•Регистрация и заселение гостей.
На основе выделенных бизнес-процессов согласно методологии IDEF0
была спроектирована модель бизнес-процесса для бронирования гостями номеров в гостинице. Разработанная модель представлена на рисунке 1.1. Для модели также была произведена декомпозиция, представленная на рисунке
1.2.
Рисунок 1.1 – Модель IDEF0
8
Рисунок 1.2 – Декомпозиция модели IDEF0
1.2 Концептуальная модель данных
На основе предметной области и выделенных бизнес-процессов были выделены сущности и их атрибуты.
«Гостиничный номер» включает в себя номер комнаты, тип комнаты (одноместный или двухместный номер), стандартную цену за проживание для одной ночи, описание с дополнительными услугами, которые прилагаются к номеру.
«Администратор» включает в себя ФИО сотрудника, стаж работы в годах, дата рождения, пол, контактные данные в виде номера телефона и электронной почты.
«Гость» включает в себя ФИО клиента, тип, серия и номер документа, подтверждающего его личность (свидетельство о рождении, паспорт или загранпаспорт), дата рождения, пол, контактные данные в виде номера телефона и электронной почты.
«Заявка» включает в себя информацию о сотруднике, обрабатывающем заявку, и госте, который ее заполнил, номер комнаты, количество гостей,
9
которые будут проживать в ней, дата и время заселения и выселения и итоговая цена за все время проживания.
«Заселение» включает в себя информацию о госте и заявке, к которой он привязан.
Между некоторыми объектами были определены связи:
Связь «Заявка» – «Гостиничный номер» показывает, что в каждой заявке должен обязательно указываться номер комнаты, в которую хотят заселиться гости. В одной заявке может содержаться только одна комната, при этом занимаемая комната может быть в нескольких заявках на разные непересекающиеся временные промежутки.
Связь «Заявка» – «Администратор» показывает, что каждую заявку обрабатывает определенный сотрудник. Один сотрудник может обрабатывать множество различных заявок, но к заявке может быть привязан только один ответственный администратор.
Связь «Заявка» – «Гость» указывает на тот факт, что заявку заполняет один из клиентов, который в последствии будет проживать в гостинице. Гость может заполнить множество заявок на разные временные промежутки, но к заявке прикрепляется только один конкретный гость.
Связь «Заселение» – «Гость» отражает факт проживания конкретного гостя по определённой заявке. Один гость может быть заселён по нескольким заявкам в разные периоды, однако в рамках одной записи «Заселение» указывается только один гость.
Связь «Заселение» – «Заявка» указывает, что каждая запись заселения относится к одной конкретной заявке. Одна заявка может предполагать заселение одного или нескольких гостей, и может быть связана с несколькими записями в таблице «Заселение», но каждая такая запись привязана лишь к одной заявке.
Объекты и их связи представлены на рисунке 1.3 в виде концептуальной модели данных.
10
Рисунок 1.3 – Концептуальная модель данных
11
