ВВЕДЕНИЕ
Цель данной курсовой работы является приобретение практических навыков по созданию систем автоматизированного сбора и обработки данных, информации, а так же научится строить инфологическую концептуальную модель. И уметь грамотно реализовывать разработку базы данных в приложениях.
Основным содержанием данной работы являются: на этапе проектирования - разработка информационно - логической (концептуальной) модели базы, на этапе разработки и создания - конструирование структуры объектов, их создание, тестирование. Разработка алгоритма и его реализация для решения задачи, поставленной в данной курсовой работы.
Современный специалист должен уметь с помощью компьютеров и средств связи получать, накапливать, хранить и обрабатывать данные, представляя результат в виде наглядных документов или файлов. И как показывает опыт, работа с базами данных, существенно улучшает наше повседневную жизнь, экономя наше время база данных, при её правильной реализации, может служить как незаменимая составляющая предприятий, а так же во всех сферах деятельности, где есть учёт, хранение и обработка данных.
Я считаю, что научившись самостоятельно проектировать информационную систему, в дальнейшем мне пригодятся накопленные знания.
автоматизированный гостиничный информационный программный
) Получить перечень и общее число фирм, забронировавших места в объеме, не менее указанного, за весь период сотрудничества, либо за некоторый период.
)Получить перечень и общее число постояльцев, заселявшихся в номера с указанными характеристиками за некоторый период.
)Получить количество свободных номеров на данный момент.
)Получить сведения о количестве свободных номеров с указанными характеристиками.
)Получить сведения о конкретном свободном номере: в течение какого времени он будет пустовать и о его характеристиках.
)Получить список занятых сейчас номеров, которые освобождаются к указанному сроку.
)Получить данные об объеме бронирования номеров данной фирмой за указанный период, и каким номерам отдавались предпочтения.
)Получить список недовольных клиентов и их жалобы.
)Получить данные о рентабельности номеров с определенными характеристиками: соотношение об объеме продаж номеров к накладным расходам за указанный период.
)Получить сведения о постояльце из заданного номера: его счет гостинице за дополнительные услуги, поступавшие от него жалобы, виды дополнительных услуг, которыми он пользовался.
)Получить сведения о фирмах, с которыми заключены договора о брони на указанный период.
)Получить сведения о наиболее часто посещающих гостиницу постояльцах по всем корпусам гостиниц, по определенному зданию.
)Получить сведения о новых клиентах за указанный период.
)Получить сведения о конкретном человеке, сколько раз он посещал гостиницу, в каких номерах и в какой период останавливался, какие счета оплачивал.
)Получить сведения о конкретном номере: кем он был занят в определенный период.
)Получить процентное отношение всех номеров к номерам, бронируемым партнерами.
Для этого необходимо выполнить следующий комплекс работ:
Построить инфологическую концептуальную модель (ER - модель используя Erwin 4.0 или PowerDesigner 12.5), для чего:
а) проанализировав предметную область, при необходимости уточнив и дополнив ее, выявить необходимый набор сущностей;
б) определить требуемый набор атрибутов для каждой сущности, выделив идентифицирующие атрибуты;
в) классифицировать сущности (стержневые, ассоциативные и пр.);
г) определить связи между объектами;
д) формализовать связи между объектами (множественность, условность и т.д.);
. Получить реляционную схему из ER-модели, для чего:
а) построить набор необходимых отношений базы данных;
б) выделить первичные и внешние ключи определенных отношений;
в) привести полученные отношения к третьей нормальной форме;
г) определить ограничения целостности для внешних ключей отношений и для отношений в целом;
. Используя имеющуюся СУБД MS Access 2003 создать спроектированную базу данных.
. На языке SQL записать выражения для указанных в задании типов запросов. Проверить работоспособность написанных запросов в интерактивном режиме.
. Выбрав средства разработки приложений (Delphi 7.0), реализовать законченное приложение, работающее с созданной базой данных. Приложение должно:
а) заносить информацию в таблицы созданной базы данных;
б) выполнять необходимые действия по модификации и удалению данных в таблицах созданной базы данных;
в) поддерживать целостность базы данных, выполняя все действия в рамках транзакций;
г) выполнять запросы из задания.
1. ПРОЕКТИРОВАНИЕ БАЗЫ ДАННЫХ
Проектирование базы данных - процесс, который для заданного набора данных, относящихся к некоторой предметной области, позволяет выбрать и построить соответствующую оптимальную структуру базы данных.
Задачи проектирования базы данных.
При проектировании базы данных решаются три основные задачи:
. «Как адекватно отразить предметную область и информационные потребности пользователей в семантическую модель базы данных?». Эту проблему называют проблемой инфологического (концептуального) проектирования баз данных.
. «Каким образом отобразить объекты предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике предметной области, и было по возможности эффективным?» Эту проблему называют проблемой логического проектирования баз данных.
. «Как обеспечить эффективность выполнения запросов к базе данных, т.е. каким образом, имея в виду особенности конкретной СУБД, расположить данные во внешней памяти, создать дополнительные структуры данных (например, индексы)?» Эту проблему называют проблемой физического проектирования баз данных.
В процессе проектирования, первичным этапом является решение первых двух задач - создания логического макета (логической модели) базы данных, и только потом этот логический макет отображают на некоторые физические структуры, поддерживаемые конкретной СУБД. Таким образом, физический макет (физическая модель) является специфическим для каждой СУБД, а логический макет наоборот совершенно независим от СУБД и для его реализации могут быть использованы строгие теоретические принципы. Данный вид проектирования и его методики называются нисходящими, т.к. они позволяют выполнять преобразование от общего к частному.
На практике реализация физического макета может оказывать существенное влияние на логический макет, поэтому конечная структура БД будет некоторым компромиссом в связке « логический макет - физический макет».
В области проектирования базы данных разработано большое количество методик проектирования, но все они являются более или менее специализированными (т.е. позволяют построить такой логический макет, который был бы лучшим в некоторой конкретной ситуации). Кроме того, в большинстве случаев построение макета базы данных рассматривается независимо от приложений, которые будут работать с этими данными. Это происходит по причине невозможности учета на начальной стадии проектирования всех возможных способов использования данных, и соответственно полученный макет не будет отвечать требованиям повышенной производительности, т.к. не будет зависим от аппаратной платформы, операционной системы, СУБД, языка программирования и т.п.
«Информационная система гостиничного комплекса»
Гостиничный комплекс состоит из нескольких зданий-гостиниц (корпусов). Каждый корпус имеет ряд характеристик, таких, как класс отеля (двух-, пятизвездочные), количество этажей в здании, общее количество комнат, комнат на этаже, местность номеров (одно-, двух-, трехместные и т.д.), наличие служб быта: ежедневная уборка номера, прачечная, химчистка, питание (рестораны, бары) и развлечения (бассейн, сауна, бильярд и пр.). От типа корпуса и местности номера зависит сумма оплаты за него. Химчистка, стирка, дополнительное питание, все развлечения производятся за отдельную плату.
С крупными организациями (туристические фирмы, организации, занимающиеся проведением международных симпозиумов, конгрессов, семинаров, карнавалов и т.д.) заключаются договора, позволяющие организациям бронировать номера с большими скидками на определенное время вперед не для одного человека, а для группы людей. Каждая из перечисленных групп организаций обладает характеристиками, свойственными только этой группе. Желательно группы людей от одной организации не расселять по разным этажам. В брони указывается класс отеля, этаж, количество комнат и общее количество людей. Броня может быть отменена за неделю до заселения. На основе маркетинговых работ расширяется рынок гостиничных услуг, в результате чего заключаются договора с новыми фирмами. Также исследуется мнение жильцов о ценах и сервисе. Жалобы фиксируются и исследуются. Изучается статистика популярности номеров. Ведется учет долгов постояльца гостинице за все дополнительные услуги.
Новые жильцы пополняют перечень клиентов гостиницы. Ведется учет
свободных номеров, дополнительных затрат постояльцев гостиницы и учет расходов
и доходов гостиничного комплекса.
.2 Инфологическая модель
Название базы данных «Информационная система гостиничного комплекса»
Анализ, описанный на предметной области и решаемых задач позволяет выделить следующие сущности:
Броня (Номера_комнат, Номер_корпуса, Класс_корпуса, Общее_кол_комнат, Кол_одном_номеров, Кол_двухм_номеров, Кол_трёхм_номеров, Кол_четырёхм_номеров);
Учёт номеров (Код_номера, Бро_Номера_комнат, Код_корпуса, Местность_номера, Бронирован);
Затраты постояльцев (Код_Затраты, Наименование_организации, ФИО_клиента, Код_клиента, Наименование_услуги, Весь_долг_гостинице);
Жалобы клиентов (Код_клиента, Номера_комнат, ФИО_клиента, Зат_Наименование_организа, Дата_жалобы, Жалоба);
Корпуса (Номер_корпуса, Класс_корпуса, Общее_кол_комнат, Кол_одном_номеров, Кол_двухм_номеров, Кол_трёхм_номеров, Кол_четырёхм_номеров);
ЕR - диаграмма инфологической модели базы данных «Информационная система
гостиничного комплекса», приведена в приложении 1.
.3 Логическое проектирование базы данных
Логическое проектирование базы данных - процесс конструирования информационной модели на основе выбора существующих логических моделей данных, но не зависимой от конкретной СУБД и прочих физических условий реализации.
Фаза логического проектирования состоит из двух этапов.
На первом этапе для каждой концептуальной модели данных, полученной на первой фазе проектирования, строится адекватная логическая модель, при этом выполняются следующие подзадачи:
• преобразование локальной концептуальной модели данных в локальную логическую модель (что предусматривает преобразование сложных связей и атрибутов (например, связей типа M:N, рекурсивных и связей с атрибутами), перепроверка связей типа 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-модель), она предоставляет собой графическую нотацию,
основанную на блоках и соединяющих их линиях, с помощью которых можно описывать
объекты и отношения между ними какой-либо другой модели данных.модель
сущность-связь представлено в приложении 2.
.4 Физическое проектирование базы данных
Физическая модель содержит всю информацию, необходимую для реализации конкретной базы данных.