РАЗРАБОТКА БД ДЛЯ АСУ ГОСТИНИЦЫ ООО «РИВЕР ПАРК» - Студенческий научный форум

VII Международная студенческая научная конференция Студенческий научный форум - 2015

РАЗРАБОТКА БД ДЛЯ АСУ ГОСТИНИЦЫ ООО «РИВЕР ПАРК»

Токарев К.А. 1, Воронова Л.И. 1
1МТУСИ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
В статье кратко изложен результаты курсовой работы по дисциплине «Базы

данных» (МТУСИ, ФИ, 5 курс, научн.рук. проф.Воронова Л.И.) связанной с разработкой базы данных для информационной системы ООО «Гостиница «Ривер Парк».

Автоматизированная система управления или АСУ — это комплекс аппаратных и программных средств, предназначенный для управления различными процессами в рамках некоторого технологического процесса, производства или предприятия. В современном мире АСУ применяются в различных отраслях промышленности, энергетике, транспорте, т.к. затруднительно наладить производство или бизнес без средств его автоматизации. АСУ применяются также для автоматизации социальных сфер деятельности, таких как учебные заведения, медицинские учреждения и даже автобусные парки. Особенностью разрабатываемой АСУ состоит в том, что при разработке информационной базы данных для гостиницы, учитываются функции, которые помогут пользователю легко найти нужную информацию.

В ходе выполнения данного проекта ООО «Ривер парк» необходимо разработать данную информационную базу данных для гостиницы, которая поможет любому пользователю легко найти нужную информацию о подходящей ему категории комнат, услугах, ценах.

Целью данной работы является разработка базы данных для автоматизированной системы управления ООО «Ривер парк».

Назначение разработки заключается в следующем: обеспечить удобную работу сотрудников предприятия и повысить производительность. Вся информация, касающаяся работы предприятия хранится в БД, следовательно, нельзя недооценить её значимость.

Данная гостиница располагается в центре Москвы на Садовом кольце "Ривер Парк" - одина из гостиниц сети "Лэйк хотелс". Гостиница представляет собой недорогой мини-отель «квартирного типа», в ней помимо номеров для проживающих есть бесплатная (входит в стоимость проживания) оборудованная кухня-столовая. Ванная комната и туалеты общие для всех постояльцев. Каждый номер в гостинице "Ривер парк" выполнен в собственной цветовой гамме. Задачей администратора гостиницы является отслеживание финансовой стороны работы гостиницы. Его деятельность организована следующим образом: гостиница предоставляет номера клиентам на определенный срок. Каждый номер характеризуется вместимостью, комфортностью и ценой. Клиентами гостиницы являются различные лица, о которых администратор собирает определенную информацию (фамилия, имя, отчество и некоторый комментарий). Сдача номера клиенту производится при наличии свободных мест в номерах, подходящих клиенту по указанным выше параметрам. При поселении фиксируется дата поселения. При выезде из гостиницы для каждого места запоминается дата освобождения.

Требования к разрабатываемой базе данных

В результате системного анализа, который приведен в первой главе, как результат были выделены следующие группы пользователей, которые имеют право доступа к базе данных ООО «Ривер парк»:

- Персонал гостиницы;

- Клиенты гостиницы;

- Управляющий администратор гостиницы;

Разрабатываемая база данных должна полностью удовлетворять потребности всех её пользователей. Рассмотрим, какие группы пользователей могут работать с базой данных, и какие задачи они должны выполнять.

Проектирование базы данных для объекта ООО «Ривер парк» Разработка инфологической модели

Инфологическая модель должна включать такое формализованное описание предметной области, которое легко будет «читаться» не только специалистами по БД. И это описание должно быть настолько ёмким, чтобы можно было оценить глубину и корректность проработки проекта БД. Инфологическое проектирование, прежде всего, связано с попыткой представления семантики предметной области в модели БД.

Спроектированная инфологическая модель представлена на рисунке 3.

Рисунок 3. Инфологическая модель

Логическое проектирование (переход к реляционной модели, даталогическая модель).

Переход к реляционной модели данных

Для ER-модели существует алгоритм однозначного преобразования ее в реляционную модель данных, что позволило в дальнейшем разработать множество инструментальных систем, поддерживающих процесс разработки информационных систем, базирующихся на технологии баз данных. И во всех этих системах существуют средства описания инфологической модели разрабатываемой БД с возможностью автоматической генерации той даталогической модели, на которой будет реализовываться проект в дальнейшем.

В результате добавления новой сущности, реализована реляционная модель и отображена на рисунке 4.

Рисунок 4. Даталогическая модель гостиницы ООО «Ривер Парк»

Нормализация, схема БД.

После нормализации таблицы «Клиенты», «Учет работы», «Номера», «Персонал» аналогично таблице «Категории» находятся во всех трех нормальных формах.

На первый взгляд может показаться, чтo тaблицы «Клиенты» и «Персонал» не удoвлетворяет услoвиям 1НФ, поскoльку поля Имя, Адрес и можно разделить, но в этом нет смысла, т. к. это внeсет лишнюю громоздкость.

Таким обрaзом, прoанaлизирoвaв рaзрaбoтaнную бaзу дaнных, мoжнo сделать вывод, что она нормализована и соответствует трем нормальным формам.

Схема разработанной в СУБД базы данных приведена на рисунке 5.

Рисунок 5. Схема базы данных в СУБД Microsoft SQL Server 2012

Программная реализация

Для программной реализации информационной системы выбрана СУБД Microsoft SQL Server 2012 Express Edition. Эта СУБД бесплатна для некоммерческого использования, имеет все средства для разработки реляционной базы данных, использует язык Transact-SQL, поддерживает проверочные ограничения(constraints), представления, процедуры и триггера. Данная СУБД более подробно описана в разделе 1.2.

Для отображения отчетов и форм написана программа на языке C# на платформе .NET Framework 3.5, используя технологию LINQ для доступа к базе данных Microsoft SQL Server.

Для автоматизации обработки в базе данных разработаны триггеры. Триггеры в базе данных служат для реализации некоторых ограничений, которые невозможно организовать иным образом. Ниже приведено назначение каждого из триггеров:

  • Work_Insert – автоматически считает прибыль со сделки учитывая количество дней проведенных в отеле и цену за комнату [Приложение п.1];

  • Stuff_Insert – автоматически считает зарплату, учитывая возраст персонала, комнаты которые он обслуживает, процент с прибыли [Приложение п.2].

Разработка представлений

На основании типовых запросов, приведенных в первой главе, и для отображения специфической информации, получаемой из нескольких таблиц, в удобной для пользователей форме, разработано несколько представлений, описание которых приведено ниже:

  • ClientsView – отображает информацию о клиентах:

  • StuffView – отображение информацию о персонале:

  • RoomsView – отображает информацию о комнатах:

Разработка форм

Для упрощения добавления новых данных в базу данных для пользователей информационной системы созданы следующие формы:

  • Форма входа представлена на рисунке 6 и позволяет сделать выбор пользователя для входа в систему. Администратор – имеет полное право доступа, Клиент – имеет самые ограниченные права и может просматривать только информацию о комнатах, Персонал – может управлять сделками и просматривать информацию о клиентах;

Рисунок 6. Форма входа

  • Главная форма представлена на рисунке 7. Основные функции формы — это отображение всех таблиц и представлений и возможность добавления, удаления, редактирования текущих записей;

Рисунок 7. Главная форма

  • Форма отчетов представлена на рисунке 8 и позволяет просмотреть отчеты (описана в пункте 3.5);

3.5. Разработка отчетов

Для отображения представлений (раздел 3.3), созданных на основании типовых запросов, описанных в первой главе, в удобной для печати форме, разработаны следующие запросы:

  • Отчет о клиентах;

  • Отчет о комнатах;

  • Отчет о персонале;

Рисунок 8. Форма отчетов

Реализация ограничений

Далее необходимо задать ограничения на информацию, описанных в разделе 1.1, для их реализации использованы проверочные ограничения. Для реализации всех ограничений на информацию использовались следующие проверочные ограничения:

  • CK_Clients (CK_Stuff) – Возраст клиента (персонала) больше или равно 18 годам.

  • CK_Rooms - Этаж в пределах от 1 до 3;

  • CK_Rooms_1 - Вместимость в пределах от 1 до 2;

  • CK_Rooms_2 - Стоимость больше 0;

  • CK_Types – Количество комнат больше 0 и меньше либо равно 20;

Выводы

Разработанная автоматическая система управления гостинцы ООО «Ривер Парк» является актуальной в связи с высокой потребностью в автоматизации практически в любой сфере.

В курсовой работе решены следующие задачи:

  • Проведен системный анализ предметной области гостиницы ООО «Ривер Парк»;

  • Проведен обзор информационных технологий, подходящих для разработки информационной системы гостиницы;

  • Изучены аналогичные информационные системы данной предметной области;

  • Описаны требования, предъявляемые к разработке данной базы данных;

  • Разработана инфологическая модель базы данных;

  • Обоснован выбор модели данных и осуществлено логическое проектирование информационной системы;

  • Нормализована спроектированная модель и составлена схема базы данных;

  • Осуществлено физическое проектирование базы данных в СУБД Microsoft SQL Server 2012;

  • Разработана программа в среде выполнения .NET Framework, реализующая формы и отчеты для базы данных;

В итоге разработана реляционная база данных, содержащая элементы автоматизации и обработки данных. База данных содержит следующие объекты:

  • 6 таблиц (Clients, Rooms, Types, Stuff, Works, Posts);

  • 5 проверочных ограничений ;

  • 2 триггера (Work_Insert, Stuff_Insert);

  • 3 формы (Форма входа, Главная форма, Форма отчетов);

  • 3 отчета (Клиенты, Комнаты, Сотрудники);

Список источников и литературы:
  •  
    1. Ульман Д., Уидом Д. «Основы реляционных баз данных», 2006

    2. Баженова И.Ю. «Основы проектирования приложений баз данных», 2009

    3. Гладченко А., Щербинина В. «Репликация SQL Server 2005/2008», 2009

    4. Кириллов В.В., Громов Г.Ю. «Введение в реляционные базы данных», 2009

    5. Макин Дж., Хотек М. «Проектирование серверной инфраструктуры баз данных Microsoft SQL Server. Учебный курс Microsoft», 2008

    6. Морган С., Тернстрем Т. «Проектирование и оптимизация доступа к базам данных Microsoft SQL Server 2005. Учебный курс Microsoft», 2008

Приложение 1

В приложении представлен текст триггера Work_Insert, функция которого при добавлении записи в таблицу Works автоматически считать и добавлять в только что добавленную запись значение прибыли отеля. Прибыль считается из количества проведенных в отеле клиентом дней, которые умножаются на стоимость проживания данного типы комнаты. Стоимость проживания берется из таблицы Rooms.

USE [HOTEL]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER TRIGGER [dbo].[Work_Insert] ON [dbo].[Works]

AFTER INSERT,UPDATE

AS

BEGIN

declare @Days int

SELECT @Days=DATEDIFF(day, DateArrived, DateDaparture) from Works;

declare @Cost int;

select @Cost = Cost from Rooms where RoomID in (select roomid from inserted);

update Works set Profit =@Days*@Cost where WorkID in (select WorkID from inserted);

END

Приложение 2

В данном приложении представлен текст триггера Stuff_Insert – триггер начисления заработной платы. Гостиница ООО «Ривер парк» имеет свою собственную уникальную формулу подсчета выплаты персоналу. Данное число зависит от таких факторов как стоимость проживания в комнате, которую обслуживает персонал (25 процентов) и еще один решающий фактор — это возраст обслуживающего лица. Чем больше возраст тем выше заработная плата. Таким образом гостиница «Ривер Парк» сохраняет свой персонал на протяжении многих лет.

USE [HOTEL]

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER TRIGGER [dbo].[Stuff_Insert] ON [dbo].[Stuff]

AFTER INSERT,UPDATE

AS

BEGIN

declare @Cost int;

select @Cost = Cost from Rooms where RoomID in (select roomid from inserted);

declare @Age int;

select @Age = Age from inserted;

update Stuff set Salary =0.25*@Cost*30+@Age*@Age*10 where stuffID in (select StuffID from inserted);

END

Приложение 3

Ниже представлен текст триггера Type_Insert. Триггер выполняет автоматическое добавление в таблицу Rooms после добавления новой записи в таблицу Types. Триггер добавляет новую запись с текущем значением TypeID и записывает в таблицу Rooms. Так же устанавливает стандартную цену в 100 едениц.

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE TRIGGER Types_Trigger ON Types

AFTER INSERT,UPDATE

AS

BEGIN

SET NOCOUNT ON;

declare @Type int;

select @Type = TypeID from inserted;

Insert into rooms (TypeID, Cost) values (@Type, 100);

END

GO

Просмотров работы: 1827