Информационная система гостиничного комплекса
Создание систем автоматизированного сбора и обработки данных. Разработка информационной системы гостиничного комплекса. Выбор требуемой СУБД и программного обеспечения. Концептуальное, логическое проектирование. Организация ввода данных в базу данных.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 13.02.2016 |
Размер файла | 790,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
1
Размещено на Allbest.ru
ВВЕДЕНИЕ
Цель данной курсовой работы является приобретение практических навыков по созданию систем автоматизированного сбора и обработки данных, информации, а так же научится строить инфологическую концептуальную модель. И уметь грамотно реализовывать разработку базы данных в приложениях.
Основным содержанием данной работы являются: на этапе проектирования - разработка информационно - логической (концептуальной) модели базы, на этапе разработки и создания - конструирование структуры объектов, их создание, тестирование. Разработка алгоритма и его реализация для решения задачи, поставленной в данной курсовой работы.
Современный специалист должен уметь с помощью компьютеров и средств связи получать, накапливать, хранить и обрабатывать данные, представляя результат в виде наглядных документов или файлов. И как показывает опыт, работа с базами данных, существенно улучшает наше повседневную жизнь, экономя наше время база данных, при её правильной реализации, может служить как незаменимая составляющая предприятий, а так же во всех сферах деятельности, где есть учёт, хранение и обработка данных.
Я считаю, что научившись самостоятельно проектировать информационную систему, в дальнейшем мне пригодятся накопленные знания.
автоматизированный гостиничный информационный программный
ПОСТАНОВКА ЗАДАЧИ
1) Получить перечень и общее число фирм, забронировавших места в объеме, не менее указанного, за весь период сотрудничества, либо за некоторый период.
2)Получить перечень и общее число постояльцев, заселявшихся в номера с указанными характеристиками за некоторый период.
3)Получить количество свободных номеров на данный момент.
4)Получить сведения о количестве свободных номеров с указанными характеристиками.
5)Получить сведения о конкретном свободном номере: в течение какого времени он будет пустовать и о его характеристиках.
6)Получить список занятых сейчас номеров, которые освобождаются к указанному сроку.
7)Получить данные об объеме бронирования номеров данной фирмой за указанный период, и каким номерам отдавались предпочтения.
8)Получить список недовольных клиентов и их жалобы.
9)Получить данные о рентабельности номеров с определенными характеристиками: соотношение об объеме продаж номеров к накладным расходам за указанный период.
10)Получить сведения о постояльце из заданного номера: его счет гостинице за дополнительные услуги, поступавшие от него жалобы, виды дополнительных услуг, которыми он пользовался.
11)Получить сведения о фирмах, с которыми заключены договора о брони на указанный период.
12)Получить сведения о наиболее часто посещающих гостиницу постояльцах по всем корпусам гостиниц, по определенному зданию.
13)Получить сведения о новых клиентах за указанный период.
14)Получить сведения о конкретном человеке, сколько раз он посещал гостиницу, в каких номерах и в какой период останавливался, какие счета оплачивал.
15)Получить сведения о конкретном номере: кем он был занят в определенный период.
16)Получить процентное отношение всех номеров к номерам, бронируемым партнерами.
Для этого необходимо выполнить следующий комплекс работ:
Построить инфологическую концептуальную модель (ER - модель используя Erwin 4.0 или PowerDesigner 12.5), для чего:
а) проанализировав предметную область, при необходимости уточнив и дополнив ее, выявить необходимый набор сущностей;
б) определить требуемый набор атрибутов для каждой сущности, выделив идентифицирующие атрибуты;
в) классифицировать сущности (стержневые, ассоциативные и пр.);
г) определить связи между объектами;
д) формализовать связи между объектами (множественность, условность и т.д.);
2. Получить реляционную схему из ER-модели, для чего:
а) построить набор необходимых отношений базы данных;
б) выделить первичные и внешние ключи определенных отношений;
в) привести полученные отношения к третьей нормальной форме;
г) определить ограничения целостности для внешних ключей отношений и для отношений в целом;
3. Используя имеющуюся СУБД MS Access 2003 создать спроектированную базу данных.
4. На языке SQL записать выражения для указанных в задании типов запросов. Проверить работоспособность написанных запросов в интерактивном режиме.
5. Выбрав средства разработки приложений (Delphi 7.0), реализовать законченное приложение, работающее с созданной базой данных. Приложение должно:
а) заносить информацию в таблицы созданной базы данных;
б) выполнять необходимые действия по модификации и удалению данных в таблицах созданной базы данных;
в) поддерживать целостность базы данных, выполняя все действия в рамках транзакций;
г) выполнять запросы из задания.
1. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
Проектирование базы данных - процесс, который для заданного набора данных, относящихся к некоторой предметной области, позволяет выбрать и построить соответствующую оптимальную структуру базы данных.
Задачи проектирования базы данных.
При проектировании базы данных решаются три основные задачи:
1. «Как адекватно отразить предметную область и информационные потребности пользователей в семантическую модель базы данных?». Эту проблему называют проблемой инфологического (концептуального) проектирования баз данных.
2. «Каким образом отобразить объекты предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике предметной области, и было по возможности эффективным?» Эту проблему называют проблемой логического проектирования баз данных.
3. «Как обеспечить эффективность выполнения запросов к базе данных, т.е. каким образом, имея в виду особенности конкретной СУБД, расположить данные во внешней памяти, создать дополнительные структуры данных (например, индексы)?» Эту проблему называют проблемой физического проектирования баз данных.
В процессе проектирования, первичным этапом является решение первых двух задач - создания логического макета (логической модели) базы данных, и только потом этот логический макет отображают на некоторые физические структуры, поддерживаемые конкретной СУБД. Таким образом, физический макет (физическая модель) является специфическим для каждой СУБД, а логический макет наоборот совершенно независим от СУБД и для его реализации могут быть использованы строгие теоретические принципы. Данный вид проектирования и его методики называются нисходящими, т.к. они позволяют выполнять преобразование от общего к частному.
На практике реализация физического макета может оказывать существенное влияние на логический макет, поэтому конечная структура БД будет некоторым компромиссом в связке « логический макет - физический макет».
В области проектирования базы данных разработано большое количество методик проектирования, но все они являются более или менее специализированными (т.е. позволяют построить такой логический макет, который был бы лучшим в некоторой конкретной ситуации). Кроме того, в большинстве случаев построение макета базы данных рассматривается независимо от приложений, которые будут работать с этими данными. Это происходит по причине невозможности учета на начальной стадии проектирования всех возможных способов использования данных, и соответственно полученный макет не будет отвечать требованиям повышенной производительности, т.к. не будет зависим от аппаратной платформы, операционной системы, СУБД, языка программирования и т.п.
1.1 Концептуальное проектирование
«Информационная система гостиничного комплекса»
Гостиничный комплекс состоит из нескольких зданий-гостиниц (корпусов). Каждый корпус имеет ряд характеристик, таких, как класс отеля (двух-, пятизвездочные), количество этажей в здании, общее количество комнат, комнат на этаже, местность номеров (одно-, двух-, трехместные и т.д.), наличие служб быта: ежедневная уборка номера, прачечная, химчистка, питание (рестораны, бары) и развлечения (бассейн, сауна, бильярд и пр.). От типа корпуса и местности номера зависит сумма оплаты за него. Химчистка, стирка, дополнительное питание, все развлечения производятся за отдельную плату.
С крупными организациями (туристические фирмы, организации, занимающиеся проведением международных симпозиумов, конгрессов, семинаров, карнавалов и т.д.) заключаются договора, позволяющие организациям бронировать номера с большими скидками на определенное время вперед не для одного человека, а для группы людей. Каждая из перечисленных групп организаций обладает характеристиками, свойственными только этой группе. Желательно группы людей от одной организации не расселять по разным этажам. В брони указывается класс отеля, этаж, количество комнат и общее количество людей. Броня может быть отменена за неделю до заселения. На основе маркетинговых работ расширяется рынок гостиничных услуг, в результате чего заключаются договора с новыми фирмами. Также исследуется мнение жильцов о ценах и сервисе. Жалобы фиксируются и исследуются. Изучается статистика популярности номеров. Ведется учет долгов постояльца гостинице за все дополнительные услуги.
Новые жильцы пополняют перечень клиентов гостиницы. Ведется учет свободных номеров, дополнительных затрат постояльцев гостиницы и учет расходов и доходов гостиничного комплекса.
1.2 Инфологическая модель
Название базы данных «Информационная система гостиничного комплекса»
Анализ, описанный на предметной области и решаемых задач позволяет выделить следующие сущности:
Броня (Номера_комнат, Номер_корпуса, Класс_корпуса, Общее_кол_комнат, Кол_одном_номеров, Кол_двухм_номеров, Кол_трёхм_номеров, Кол_четырёхм_номеров);
Учёт номеров (Код_номера, Бро_Номера_комнат, Код_корпуса, Местность_номера, Бронирован);
Затраты постояльцев (Код_Затраты, Наименование_организации, ФИО_клиента, Код_клиента, Наименование_услуги, Весь_долг_гостинице);
Жалобы клиентов (Код_клиента, Номера_комнат, ФИО_клиента, Зат_Наименование_организа, Дата_жалобы, Жалоба);
Корпуса (Номер_корпуса, Класс_корпуса, Общее_кол_комнат, Кол_одном_номеров, Кол_двухм_номеров, Кол_трёхм_номеров, Кол_четырёхм_номеров);
ЕR - диаграмма инфологической модели базы данных «Информационная система гостиничного комплекса», приведена в приложении 1.
1.3 Логическое проектирование базы данных
Логическое проектирование базы данных - процесс конструирования информационной модели на основе выбора существующих логических моделей данных, но не зависимой от конкретной СУБД и прочих физических условий реализации.
Фаза логического проектирования состоит из двух этапов.
На первом этапе для каждой концептуальной модели данных, полученной на первой фазе проектирования, строится адекватная логическая модель, при этом выполняются следующие подзадачи:
* преобразование локальной концептуальной модели данных в локальную логическую модель (что предусматривает преобразование сложных связей и атрибутов (например, связей типа M:N, рекурсивных и связей с атрибутами), перепроверка связей типа 1:1, удаление избыточных связей);
* определение набора отношений исходя из структуры локальной логической модели;
* проверка модели с помощью правил нормализации ( актуально для реляционной модели данных, проверяет группировку атрибутов для описания объектов и связей, устранение неоднозначностей и избыточности в описании данных, повышение гибкости модели для возможного расширения);
* проверка модели в отношении транзакций пользователей (убедиться, что модель позволяет выполнять все действия пользователя с данными);
* определение требований поддержки целостности данных;
* создание графического представления локальных логических моделей;
* проверка и обсуждение локальных логических моделей с конечными пользователями.
На втором этапе логического проектирования проводится создание и проверка глобальной логической модели данных на основе локальных логических моделей данных, при этом выполняются следующие подзадачи:
* слияние локальных логических моделей данных в единую глобальную логическую модель данных (устранение противоречий объединения - анализ имен объектов, связей и атрибутов на пропуски и дубликаты, проверка корректности ссылок, соблюдения ограничений целостности, приведения в порядок бизнес-правил);
* проверка глобальной логической модели данных;
* проверка возможностей расширения модели в будущем ( определение частей модели, которые будут расширяться в будущем, согласование расширений с пользователями);
* создание графического представления глобальной логической модели;
* проверка и обсуждение глобальной логической модели с конечными пользователями.
Концептуальное и логическое проектирование в общей методологии проектирования - это итеративные процессы. Они могут циклически продолжаться (т.к. понимание данных пользователей у разработчиков будет расти в ходе проектирования и потребуется улучшение уже созданного, для выполнения этого очень важна роль опросов и обсуждений хода разработки с конечными пользователями) до тех пор, пока не закончится внесение уточнений и улучшений в составляемую схему базы данных. Плохо выполненное концептуальное и логическое проектирование - ведет к небольшой производительности физической реализации, к плохой адаптации к развитию и изменениям и даже к провалу физической реализации базы данных.
1.3.1 Выбор требуемой СУБД и программного обеспечения
В качестве средства проектирования базы данных выбрано СУБД MS ACCESS 2003 (мощная программа для управления базами данных, позволяет быстро работать с большими объемами данных и в ней предусмотрены все необходимые средства для работы с данными).
Для написания запросов используются язык структурированных запросов SQL. В данном курсовом проекте были использованы основные операторы этого языка, в частности для создания запросов. Этот язык является распространённым на данный момент и имеет ряд особенностей. Он позволяет: создавать базы данных и таблицы с полным описанием их структуры, выполнять основные операции манипулирования данными, такие как: вставка, модификация и удаление данных из таблиц, выполнять простые и сложные запросы.
В качестве среды разработки приложений базы данных была выбрана среда визуального программирования DELPHI 7.0. Основной причиной выбора этого языка является: возможность работы с базой данных и лёгкость в организации доступа к баз.
Для проектирования инфологической модели было выбрано средство MS VISIO XP. Для проектирования логической и физической структуры базы данных использовали PowerDesigner12.5
1.3.2 Логическая модель данных
Логическое проектирование применяется для перенесения концептуального проекта на внутреннюю модель выбранной СУБД. При этом все объекты концептуальной модели отображаются на модель, с определённой структурой, которая используется выбранным программным обеспечением. Для реляционной СУБД логическое проектирование заключается в проектировании таблиц. Логического проектирования базы данных “Информационная система гостиничного комплекса”. Выполнено с использованием CАSE- средства - PowerDesigner 12.5. Получена сущность-Связь (ER-модель), она предоставляет собой графическую нотацию, основанную на блоках и соединяющих их линиях, с помощью которых можно описывать объекты и отношения между ними какой-либо другой модели данных.
ER-модель сущность-связь представлено в приложении 2.
1.4 Физическое проектирование базы данных
Физическая модель содержит всю информацию, необходимую для реализации конкретной базы данных.
Различают два уровня физической модели:
* трансформационную модель;
* модель СУБД.
Трансформационная модель содержит информацию для реализации отдельного проекта, который может быть частью общей ИС и описывать подмножество предметной области. Данная модель позволяет проектировщикам и администраторам БД лучше представить, какие объекты БД хранятся в словаре данных, и проверить, насколько физическая модель удовлетворяет требованиям к ИС.
Модель СУБД автоматически генерируется из трансформационной модели и является точным отображением системного каталога СУБД.
Физический уровень представления модели зависит от выбранного сервера.
ER-win поддерживает более 20 реляционных и не реляционных баз данных. По умолчанию ER-win генерирует имена таблиц и индексов по шаблону на основе имен соответствующих сущностей и ключей логической модели, которые в дальнейшем могут быть откорректированы в ручную. Имена таблиц и колонок будут сгенерированы по умолчанию на основе имен сущностей и атрибутов логической модели.
Физическое проектирование базы данных - процесс создания конкретной реализации БД, размещаемой во вторичной памяти (например, накопители типа винчестер) вычислительной машины. В процессе физического проектирования выполняется отображение созданной глобальной логической модели на особенности конкретной СУБД.
Для наиболее распространенных сейчас реляционных СУБД этот процесс можно разбить на следующие этапы и подзадачи:
Этап 1. Перенос глобальной логической модели в среду целевой СУБД:
* проектирование базовых таблиц (с учетом наиболее полного соответствия выбранной логической модели (например, реализация ключей), добавление необходимых структур обслуживания - триггеры, первичные индексы);
* реализация бизнес-правил (зависит от СУБД, лучший вариант - полное использование возможностей СУБД, не переносить бизнес-правила в приложения).
Этап 2. Проектирование физического представления БД:
* анализ транзакций ( выполнение анализа на пропускную способность (число транзакций, выполненных за определенный интервал времени), анализ времени ответа на запрос, отнесение транзакции к важным);
* выбор файловой структуры (для оптимальной файловой организации);
* определение вторичных индексов (для ускорения выполнения транзакций по не ключевым атрибутам и ссылкам);
* анализ необходимости введения контролируемой избыточности данных (процесс обратный нормализации, применяется для повышения производительности системы, только если исчерпаны другие возможности, может привести к снижению гибкости и расширяемости БД, а также усложняет реализацию и обновление данных);
* определение требований к дисковой памяти (в том числе учет требований для обоснования приобретения нового оборудования).
Этап 3. Разработка механизмов защиты:
* разработка пользовательских представлений (видов);
* определение прав доступа.
Этап 4. Организация мониторинга и настройка функционирования системы (требуется для устранения ошибочных проектных решений и изменения требований к системе (например, отказ от более дорогого оборудования, улучшение психологического комфорта пользователей по работе с системой); настройка БД производится фактически постоянно, а не только при первом запуске системы, что позволяет оперативно реагировать на изменения в состоянии системы и требования пользователей; внесение любых изменений должно производиться обдуманно и осторожно, с учетом глобального влияния изменений, для оценки влияния изменений применяют дубликат системы).
Осуществляем проектирование основных объектов базы данных (сущностей) в среду СУБД MS ACCESS 2003 и проектируем схему данных.
ER - диаграмма физической структуры базы данных приведена в приложении 3. Вид и содержание сущностей приведена в приложении 3.
Схема данных приведена в приложении 4.
Вид и содержание сущности приведены в приложении 5.
SQL-коды, программный модуль для создания сущности:
Сущность - «Броня»:
SQL-код:
create table Броня (
Номера_комнат VARCHAR(20) not null,
Код_корпуса CHAR(10),
Жал_ФИО_клиента VARCHAR(20),
Номер_корпуса VARCHAR(20),
Наименование_организации VARCHAR(20),
ФИО_клиента VARCHAR(20),
Дата_бронирования DATE,
Дата_заселения DATE,
Дата_выселения DATE,
Кол_людей VARCHAR(20),
Скидка VARCHAR(20),
constraint PK_БРОНЯ primary key (Номера_комнат));
Сущность - «Жалобы клиентов»:
SQL-код:
create table Жалобы_клиентов (
ФИО_клиента VARCHAR(20) not null,
Зат_Наименование_организации VARCHAR(20),
Наименование_организации VARCHAR(20),
Дата_жалобы DATE,
Жалоба VARCHAR(50),
constraint PK_ЖАЛОБЫ_КЛИЕНТОВ primary key (ФИО_клиента));
Сущность - «Затраты постояльцев» :
SQL-код:
create table Затраты_постояльцев (
Наименование_организации VARCHAR(20) not null,
ФИО_клиента VARCHAR(20),
Наименование_услуги VARCHAR(20),
Весь_долг_гостинице VARCHAR(20),
constraint PK_ЗАТРАТЫ_ПОСТОЯЛЬЦЕВ primary key (Наименование_организации));
Сущность - «Корпуса»:
SQL-код:
create table Корпуса (
Код_корпуса CHAR(10) not null,
Номер_корпуса VARCHAR(20) not null,
Класс_корпуса VARCHAR(20) not null,
Общее_кол_комнат VARCHAR(20),
Кол_одном_номеров VARCHAR(20),
Кол_двухм_номеров VARCHAR(20),
Кол_трёхм_номеров VARCHAR(20),
Кол_четырёхм_номеров VARCHAR(20),
constraint PK_КОРПУСА primary key (Код_корпуса));
Сущность - «Учёт номеров»:
SQL-код:
create table Учёт_номеров (
Код_номера CHAR(10) not null,
Бро_Номера_комнат VARCHAR(20),
Код_корпуса CHAR(10),
Номер_корпуса VARCHAR(20) not null,
Номера_комнат VARCHAR(20),
Местность_номера VARCHAR(20),
Бронирован VARCHAR(20),
constraint PK_УЧЁТ_НОМЕРОВ primary key (Код_номера),
constraint AK_IDENTIFIER_1_УЧЁТ_НОМ unique (Номер_корпуса));
SQL-коды, программный модуль для создания связей:
Связь - «Броня/Корпуса»:
SQL-код:
alter table Броня
add constraint FK_БРОНЯ_RELATIONS_КОРПУСА foreign key (Код_корпуса)
references Корпуса (Код_корпуса);
Связь - «Броня/Жалобы клиентов»:
SQL-код:
alter table Броня
add constraint FK_БРОНЯ_RELATIONS_ЖАЛОБЫ_К foreign key (Жал_ФИО_клиента)
references Жалобы_клиентов (ФИО_клиента);
Связь - «Жалобы клиентов/Затраты постояльцев»:
SQL-код:
alter table Жалобы_клиентов
add constraint FK_ЖАЛОБЫ_К_RELATIONS_ЗАТРАТЫ_ foreign key (Зат_Наименование_организации)
references Затраты_постояльцев (Наименование_организации);
Связь - «Учёт номеров/Корпуса»:
SQL-код:
alter table Учёт_номеров
add constraint FK_УЧЁТ_НОМ_RELATIONS_КОРПУСА foreign key (Код_корпуса)
references Корпуса (Код_корпуса);
Связь - «Учёт номеров/Броня»:
SQL-код:
alter table Учёт_номеров
add constraint FK_УЧЁТ_НОМ_RELATIONS_БРОНЯ foreign key (Бро_Номера_комнат)
references Броня (Номера_комнат);
2. РАЛИЗАЦИЯ БАЗЫ ДАННЫХ
Спроектированная база данных "Информационная система гостиничного комплекса" создана в СУБД MS ACCESS 2003.
2.1 Организация ввода данных в базу данных
Для ввода данных базы данных "Информационная система гостиничного комплекса" разработана экранная форма ввода данных в среде визуального программирования Delphi7.0 с компонентами доступа к БД MS ACCESS - на основе сущности "Броня".
Вид экранной формы "Броня" приведён в приложении 6
2.2 Реализация запросов
Реализуем запросы описанные в разделе "Постановка задачи":
Запрос 1:
Получить перечень и общее число фирм, забронировавших места в объеме, не менее указанного, за весь период сотрудничества, либо за некоторый период.
SQL код:
SELECT Броня.Наименование_организации, Броня.Дата_бронирования
FROM Броня
WHERE (((Броня.Дата_бронирования) Between [Введите первую дату периода] And [Введите вторую дату периода]));
Запрос 2:
Получить перечень и общее число постояльцев, заселявшихся в номера с указанными характеристиками за некоторый период.
SQL код:
SELECT Броня.ФИО_клиента, Броня.Наименование_организации, Учёт_номеров.Код_номера, Учёт_номеров.Местность_номера, Броня.Дата_заселения
FROM Броня INNER JOIN Учёт_номеров ON Броня.Номера_комнат=Учёт_номеров.Бро_Номера_комнат
WHERE (((Броня.Дата_заселения) Between [Введите первую дату периода] And [Введите вторую дату периода]));
Запрос 3:
Получить количество свободных номеров на данный момент.
SQL код:
SELECT Броня.Номера_комнат, Учёт_номеров.Бронирован, Date() AS Выражение1
FROM Броня INNER JOIN Учёт_номеров ON Броня.Номера_комнат=Учёт_номеров.Бро_Номера_комнат
WHERE (((Учёт_номеров.Бронирован)="нет"));
Запрос 4:
Получить сведения о количестве свободных номеров с указанными характеристиками.
SQL код:
SELECT Броня.Номера_комнат, Броня.Броня, Корпуса.Номер_корпуса, Корпуса.Класс_корпуса, Учёт_номеров.Местность_номера
FROM (Корпуса INNER JOIN Броня ON Корпуса.Код_корпуса=Броня.Код_корпуса) INNER JOIN Учёт_номеров ON (Корпуса.Код_корпуса=Учёт_номеров.Код_корпуса) AND (Броня.Номера_комнат=Учёт_номеров.Бро_Номера_комнат)
WHERE (((Броня.Броня)="нет"));
Запрос 5:
Получить сведения о конкретном свободном номере: в течение какого времени он будет пустовать и о его характеристиках.
SQL код:
SELECT Учёт_номеров.Бро_Номера_комнат, Учёт_номеров.Бронирован, Учёт_номеров.Местность_номера, Броня.Номер_корпуса, Корпуса.Класс_корпуса
FROM (Корпуса INNER JOIN Броня ON Корпуса.Код_корпуса = Броня.Код_корпуса) INNER JOIN Учёт_номеров ON (Корпуса.Код_корпуса = Учёт_номеров.Код_корпуса) AND (Броня.Номера_комнат = Учёт_номеров.Бро_Номера_комнат)
GROUP BY Учёт_номеров.Бро_Номера_комнат, Учёт_номеров.Бронирован, Учёт_номеров.Местность_номера, Броня.Номер_корпуса, Корпуса.Класс_корпуса
HAVING (((Учёт_номеров.Бро_Номера_комнат)=[Введите номер свободной коннаты]) AND ((Учёт_номеров.Бронирован)="Нет"));
Запрос 6:
Получить список занятых сейчас номеров, которые освобождаются к указанному сроку.
SQL код:
SELECT Броня.Номера_комнат, Броня.Броня, Броня.Дата_выселения
FROM (Корпуса INNER JOIN Броня ON Корпуса.Код_корпуса=Броня.Код_корпуса) INNER JOIN Учёт_номеров ON (Корпуса.Код_корпуса=Учёт_номеров.Код_корпуса) AND (Броня.Номера_комнат=Учёт_номеров.Бро_Номера_комнат)
WHERE (((Броня.Броня)="да") AND ((Броня.Дата_выселения)<=[Введите дату]));
Запрос 7:
Получить данные об объеме бронирования номеров данной фирмой за
SQL код:
SELECT Броня.Наименование_организации, Броня.Дата_заселения, Броня.Номер_корпуса, Броня.Номера_комнат
FROM Броня INNER JOIN Учёт_номеров ON Броня.Номера_комнат=Учёт_номеров.Бро_Номера_комнат
WHERE (((Броня.Наименование_организации)=[Введите фирму]) AND ((Броня.Дата_заселения) Between [Введите первую дату] And [Введите вторую дату]));
Запрос 8:
Получить список недовольных клиентов и их жалобы.
SQL код:
SELECT Жалобы_клиентов.ФИО_клиента, Жалобы_клиентов.Зат_Наименование_организации, Жалобы_клиентов.Жалоба, Жалобы_клиентов.Дата_жалобы
FROM Жалобы_клиентов;
Запрос 10:
Получить сведения о постояльце из заданного номера: его счет гостинице за дополнительные услуги, поступавшие от него жалобы, виды дополнительных услуг, которыми он пользовался.
SQL код:
SELECT Броня.ФИО_клиента, Броня.Наименование_организации, Броня.Номера_комнат, Затраты_постояльцев.Весь_долг_гостинице, Жалобы_клиентов.Жалоба, Затраты_постояльцев.Наименование_услуги
FROM ((Броня INNER JOIN Учёт_номеров ON Броня.Номера_комнат = Учёт_номеров.Бро_Номера_комнат) INNER JOIN Жалобы_клиентов ON Броня.Номера_комнат = Жалобы_клиентов.Номера_комнат) INNER JOIN Затраты_постояльцев ON Жалобы_клиентов.Код_клиента = Затраты_постояльцев.Код_клиента
WHERE (((Броня.Номера_комнат)=[Введите номер]));
Запрос 11:
Получить сведения о фирмах, с которыми заключены договора о брони на указанный период.
SQL код:
SELECT Броня.Наименование_организации, Броня.Скидка, Броня.Дата_бронирования
FROM Броня INNER JOIN Учёт_номеров ON Броня.Номера_комнат=Учёт_номеров.Бро_Номера_комнат
WHERE (((Броня.Дата_бронирования) Between [Введите первую дату] And [Введите вторую дату]));
Запрос 12:
Получить сведения о наиболее часто посещающих гостиницу постояльцах по всем корпусам гостиниц, по определенному зданию.
SQL код:
SELECT Броня.ФИО_клиента, Броня.Наименование_организации, Броня.Номер_корпуса, Броня.Номера_комнат
FROM Броня
GROUP BY Броня.ФИО_клиента, Броня.Наименование_организации, Броня.Номер_корпуса, Броня.Номера_комнат
HAVING (((Броня.Номер_корпуса)=[Введите номер корпуса]))
ORDER BY Броня.ФИО_клиента;
Запрос 13:
Получить сведения о новых клиентах за указанный период.
SQL код:
SELECT Броня.ФИО_клиента, Броня.Наименование_организации, Броня.Дата_бронирования, Броня.Скидка
FROM Броня
WHERE (((Броня.Дата_бронирования) Between [Введите первую дату периода] And [Введите вторую дату периода]));
Запрос 14:
Получить сведения о конкретном человеке, сколько раз он посещал гостиницу, в каких номерах и в какой период останавливался, какие счета оплачивал.
SQL код:
SELECT Броня.ФИО_клиента, Броня.Номера_комнат, Броня.Дата_бронирования, Броня.Дата_заселения, Броня.Дата_выселения, Затраты_постояльцев.Весь_долг_гостинице, Затраты_постояльцев.Наименование_услуги
FROM (Броня INNER JOIN Жалобы_клиентов ON Броня.Номера_комнат = Жалобы_клиентов.Номера_комнат) INNER JOIN Затраты_постояльцев ON Жалобы_клиентов.Код_клиента = Затраты_постояльцев.Код_клиента
WHERE (((Броня.ФИО_клиента)=[Введите фамилию клиента]));
Запрос 14:
Получить сведения о конкретном номере: кем он был занят в определенный
SQL код:
SELECT Броня.Номера_комнат, Броня.ФИО_клиента, Броня.Наименование_организации, Броня.Дата_заселения
FROM Броня
WHERE (((Броня.Номера_комнат)=[Введите номер комнаты]) AND ((Броня.Дата_заселения) Between [Введите первую дату периода] And [Введите вторую дату периода]));
Результаты выполнения запросов приведены в приложении 7.
2.3 Получение отчёта
Отчёт создан в среде визуального программирования Delphi7.0.
Отчёт получен на основании информации из сущностей: «Броня», «Учёт номеров». Отражает " Броня-учет номеров".
Форма отчёта приведена в приложении 8.
ЗАКЛЮЧЕНИЕ
Можно с большой степенью достоверности утверждать, что большинство приложений, которые предназначены для выполнения хотя бы какой-нибудь полезной работы, тем или иным образом используют структурированную информацию или, другими словами, упорядоченные данные. Такими данными могут быть, например, списки заказов на тот или иной товар, списки предъявленных и оплаченных счетов или список телефонных номеров ваших знакомых. Обычное расписание движения автобусов в вашем городе - это тоже пример упорядоченных данных.
При компьютерной обработке информации упорядоченные каким либо образом данные принято хранить в базах данных - особых файлах, использование которых вместе со специальными программными средствами позволяет пользователю как просматривать необходимую информацию, так и, по мере необходимости, манипулировать ею, например, добавлять, изменять, копировать, удалять, сортировать и т.д.
Таким образом, дать простое определение базы данных можно следующим образом. База данных - это набор информации, организованной тем, или иным способом. Пожалуй, одним из самых банальных примеров баз данных может быть записная книжка с телефонами.
ЛИТЕРАТУРА
Попов В.Б Delphi для школьников: учебно-методическое пособие/В.Б Попов. - М.: Финансы и статистика; ИНФРА-М, 2014.
Гришин Ю.М. Delphi для программистов - М.: Финансы и статистика; ИНФРА-М, 2011.
ПРИЛОЖЕНИЯ
Приложение 1
ЕR - диаграмма инфологической модели базы банных ”Информационная система гостиничного комплекса”
Приложение 2
”Информационная система гостиничного комплекса”
Приложение 3
Вид и содержание сущностей базы данных
“Информационная система гостиничного комплекса”
Сущность «Броня»:
Сущность «Жалобы клиентов»:
Сущность «Затраты постояльцев»:
Сущность «Корпуса»:
Сущность «Учёт номеров»:
Приложение 4
Экранная форма "Броня" базы данных
“Информационная система гостиничного комплекса”
Форма ввода данных на основе сущности «Броня»:
Приложение 5
Результаты выполнения запросов базы данных
“Информационная система гостиничного комплекса”
Запрос 1:
Запрос 1-ый |
||
Наименование_организации |
Дата_бронирования |
|
ОДО"Форс" |
05.03.2012 |
|
ОДО"Форс" |
05.03.2012 |
|
ОДО"Форс" |
05.03.2012 |
Запрос 2:
Запрос 2-ой |
|||||
ФИО_клиента |
Наименование_организации |
Код_номера |
Местность_номера |
Дата_заселения |
|
Стриж В И |
24 |
Одноместный |
18.03.2012 |
||
Бирук Д В |
51 |
Трёхместный |
06.03.2012 |
||
ОДО"Форс" |
54 |
Трёхместный |
12.03.2012 |
||
ОДО"Форс" |
55 |
Двухместный |
12.03.2012 |
||
Шкиндерук А А |
56 |
Одноместный |
04.03.2012 |
||
ОДО"Форс" |
60 |
Трёхместный |
12.03.2012 |
Запрос 3:
Запрос 3-ий |
|||
Номера_комнат |
Бронирован |
Выражение1 |
|
2 |
Нет |
30.03.2012 |
|
4 |
Нет |
30.03.2012 |
|
5 |
Нет |
30.03.2012 |
|
6 |
Нет |
30.03.2012 |
|
7 |
Нет |
30.03.2012 |
|
9 |
Нет |
30.03.2012 |
|
10 |
Нет |
30.03.2012 |
|
12 |
Нет |
30.03.2012 |
|
14 |
Нет |
30.03.2012 |
|
15 |
Нет |
30.03.2012 |
|
17 |
Нет |
30.03.2012 |
|
19 |
Нет |
30.03.2012 |
|
24 |
Нет |
30.03.2012 |
|
27 |
Нет |
30.03.2012 |
|
28 |
Нет |
30.03.2012 |
|
29 |
Нет |
30.03.2012 |
|
30 |
Нет |
30.03.2012 |
|
32 |
Нет |
30.03.2012 |
|
33 |
Нет |
30.03.2012 |
|
34 |
Нет |
30.03.2012 |
|
37 |
Нет |
30.03.2012 |
|
38 |
Нет |
30.03.2012 |
|
40 |
Нет |
30.03.2012 |
|
41 |
Нет |
30.03.2012 |
|
43 |
Нет |
30.03.2012 |
|
45 |
Нет |
30.03.2012 |
|
47 |
Нет |
30.03.2012 |
|
50 |
Нет |
30.03.2012 |
|
52 |
Нет |
30.03.2012 |
|
53 |
Нет |
30.03.2012 |
|
55 |
Нет |
30.03.2012 |
|
59 |
Нет |
30.03.2012 |
|
60 |
Нет |
30.03.2012 |
|
61 |
Нет |
30.03.2012 |
|
62 |
Нет |
30.03.2012 |
Запрос 4:
Запрос 4-ый |
|||||
Номера_комнат |
Броня |
Номер_корпуса |
Класс_корпуса |
Местность_номера |
|
3 |
Нет |
1 |
Двухзвёздочный |
Двухместный |
|
4 |
Нет |
1 |
Двухзвёздочный |
Четырёхместный |
|
5 |
Нет |
1 |
Двухзвёздочный |
Двухместный |
|
6 |
Нет |
1 |
Двухзвёздочный |
Двухместный |
|
7 |
Нет |
1 |
Двухзвёздочный |
Одноместный |
|
9 |
Нет |
1 |
Двухзвёздочный |
Двухместный |
|
17 |
Нет |
2 |
Трёхзвёздочный |
Трёхместный |
|
27 |
Нет |
2 |
Трёхзвёздочный |
Одноместный |
|
29 |
Нет |
2 |
Трёхзвёздочный |
Трёхместный |
|
32 |
Нет |
2 |
Трёхзвёздочный |
Трёхместный |
|
33 |
Нет |
2 |
Трёхзвёздочный |
Одноместный |
|
40 |
Нет |
3 |
Четырёхзвёздочный |
Двухместный |
|
41 |
Нет |
3 |
Четырёхзвёздочный |
Трёхместный |
|
43 |
Нет |
3 |
Четырёхзвёздочный |
Четырёхместный |
|
46 |
Нет |
3 |
Четырёхзвёздочный |
Четырёхместный |
|
48 |
Нет |
3 |
Четырёхзвёздочный |
Одноместный |
|
50 |
Нет |
4 |
Пятизвёздочный |
Четырёхместный |
|
52 |
Нет |
4 |
Пятизвёздочный |
Одноместный |
|
53 |
Нет |
4 |
Пятизвёздочный |
Одноместный |
|
57 |
Нет |
4 |
Пятизвёздочный |
Четырёхместный |
|
58 |
Нет |
4 |
Пятизвёздочный |
Трёхместный |
|
59 |
Нет |
4 |
Пятизвёздочный |
Четырёхместный |
|
61 |
Нет |
4 |
Пятизвёздочный |
Одноместный |
|
62 |
Нет |
4 |
Пятизвёздочный |
Одноместный |
Запрос 5:
Запрос 5-ый |
|||||
Бро_Номера_комнат |
Бронирован |
Местность_номера |
Номер_корпуса |
Класс_корпуса |
|
60 |
Нет |
Трёхместный |
4 |
Пятизвёздочный |
Запрос 6:
Запрос 6-ой |
|||
Номера_комнат |
Броня |
Дата_выселения |
|
1 |
Да |
04.03.2012 |
|
2 |
Да |
06.02.2012 |
|
8 |
Да |
08.03.2012 |
|
16 |
Да |
04.03.2012 |
|
18 |
Да |
04.03.2012 |
|
19 |
Да |
02.04.2012 |
|
20 |
Да |
04.03.2012 |
|
21 |
Да |
04.03.2012 |
|
31 |
Да |
14.03.2012 |
|
39 |
Да |
15.03.2012 |
|
44 |
Да |
01.04.2012 |
|
51 |
Да |
26.03.2012 |
Запрос 7:
Запрос 7-ой |
||||
Наименование_организации |
Дата_заселения |
Номер_корпуса |
Номера_комнат |
|
ОДО"Рубеж" |
07.01.2012 |
2 |
16 |
|
ОДО"Рубеж" |
07.01.2012 |
2 |
18 |
|
ОДО"Рубеж" |
07.01.2012 |
2 |
20 |
Запрос 8:
Запрос 8-ой |
||||
ФИО_клиента |
Зат_Наименование_организации |
Жалоба |
Дата_жалобы |
|
Палыжевец Г И |
Нет |
Нет горячей воды в номере 5 |
01.02.2012 |
|
Федорук Е А |
Нет |
Не работает кондиционер |
03.04.2012 |
|
Жигоревич А А |
Нет |
В номере отсутствуют палатенца |
04.05.2012 |
|
Нет |
"БелМорис" |
В номере недостаточно света для работы |
02.01.2012 |
|
Нет |
"Венера" |
Не работает выключатель света |
03.01.2012 |
|
Штык С А |
Нет |
Плохая работа горнечной |
04.01.2012 |
|
Глинская И С |
Нет |
Не работает лифт |
06.01.2012 |
|
Шкиндерук А А |
Нет |
Устрицы на обед недоварены |
08.01.2012 |
|
Прокопчук А Г |
Нет |
Нет света в номере |
08.01.2012 |
|
Бирук Д С |
Нет |
Нет горячей воды |
09.01.2012 |
|
Сирота И С |
Нет |
Шумят соседи по номеру |
10.01.2012 |
|
Скрипка П В |
Нет |
Забит унитаз в уборной комнате |
03.02.2012 |
|
Стриж В И |
Нет |
Нет Кондиционера в номере |
04.02.2012 |
|
Костиневич Л А |
Нет |
Шумы в телефонной линии |
05.03.2012 |
|
Сидоров |
Нет |
Не работает кабельное тлевидение |
06.03.2012 |
|
Нет |
ОДО"Рубеж" |
Нет горячей воды |
04.02.2012 |
Запрос 10:
Запрос 10 |
||||||
ФИО_клиента |
Наименование_организации |
Номера_комнат |
Весь_долг_гостинице |
Жалоба |
Наименование_услуги |
|
Прокопчук А Г |
63 |
6765986 |
Нет света в номере |
Ресторан |
Запрос 11:
Запрос 11-ый |
|||
Наименование_организации |
Скидка |
Дата_бронирования |
|
ОДО"Форс" |
60 |
05.03.2012 |
|
ОДО"Форс" |
60 |
05.03.2012 |
|
ОДО"Форс" |
60 |
05.03.2012 |
Запрос 12:
Запрос 12-ый |
||
ФИО_клиента |
Count-ФИО_клиента |
|
Кононюк А А |
2 |
|
Степанюк Д С |
3 |
|
Стриж В И |
3 |
Запрос 13:
Запрос 13-ый |
||||
ФИО_клиента |
Наименование_организации |
Дата_бронирования |
Скидка |
|
Стриж В И |
17.02.2012 |
Нет |
||
"БелМорис" |
14.02.2012 |
35 |
||
"БелМорис" |
14.02.2012 |
35 |
||
"БелМорис" |
14.02.2012 |
35 |
||
"БелМорис" |
14.02.2012 |
35 |
Запрос 14:
Запрос 14-ый |
||||
ФИО_клиента |
Номера_комнат |
Дата_бронирования |
Весь_долг_гостинице |
|
Прокопчук А Г |
63 |
01.02.2012 |
6765986 |
Запрос 15:
Запрос 15-ый |
||||
Номера_комнат |
ФИО_клиента |
Наименование_организации |
Дата_заселения |
|
1 |
Сидоров А А |
04.01.2012 |
Приложение 6
Форма отчёта базы данных
“Информационная система гостиничного комплекса”
Форма отчёта ввода данных на основе сущностей «Броня», «Учёт номеров»:
Размещено на Allbest.ru
Подобные документы
Базы данных. СУБД. Виды баз данных. Разработка базы данных "Информационная система гостиничного комплекса". Эксплуатация программных средств. Расчет себестоимости программного продукта. Мероприятия по технике безопасности и противопожарной технике.
дипломная работа [91,2 K], добавлен 11.10.2008Разработка информационно-программного комплекса для использования на IBM-совместимых ПК в качестве автоматизированного рабочего места обработки информации. Реализация базы данных в СУБД IBexpert. Характеристики разработанной информационной системы.
курсовая работа [1,3 M], добавлен 13.08.2012Выбор инструментальной среды для разработки базы данных. Подсистема сбора, обработки и загрузки данных. Укрупненный алгоритм разрабатываемой информационной системы. Формирование области запросов базы, интерфейс ввода и редактирования входных данных.
курсовая работа [2,2 M], добавлен 25.12.2012- Создание информационной системы по учету комплектующей и готовой продукции мебельной фабрики "Руста"
Обзор программного обеспечения мебельной фабрики. Система управления базами данных. Разработка схемы данных для информационной системы фабрики. Справочники и шифраторы системы. Экранные формы ввода и редактирования данных. Корректировка схемы данных.
дипломная работа [504,6 K], добавлен 05.05.2014 Технические средства обеспечения функционирования информационной системы. Проектирование базы данных информационной системы. Разработка веб-приложения – справочно-информационной системы для предприятия. Организация записи информации в базу данных.
дипломная работа [4,4 M], добавлен 16.05.2022Проектирование структуры информационной базы и разработка программного комплекса, позволяющего автоматизировать процесс учета налогоплательщиков. Разработка конфигурации и создание интерфейса базы данных, форм и отчетов в программе "1С Предприятие".
дипломная работа [3,2 M], добавлен 21.06.2015Характеристика комплекса задач и обоснование необходимости совершенствования системы обеспечения информационной безопасности и защиты информации на предприятии. Разработка проекта применения СУБД, информационной безопасности и защиты персональных данных.
дипломная работа [2,6 M], добавлен 17.11.2012Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014Порядок сбора данных с помощью программного обеспечения "ПРОЛОГ". Языки программирования VBA и HTML, их характерные особенности. Web-сервера Apache, принцип работы серверной системы. Реализация сбора данных и разработка сайта с показаниями приборов.
дипломная работа [4,4 M], добавлен 24.09.2014Анализ деятельности гостиницы. Структурный анализ бизнес-процесса на основе IDEF0-модели. Особенности построения инфологической и даталогической модели данных. Аспекты проектирования базы данных гостиницы с использованием программного языка Delphi.
курсовая работа [1,6 M], добавлен 15.02.2014