Разработка информационной системы: управление гостиницей

Построение инфологической модели информационной системы "Управление гостиницей". Разработка структуры реляционной БД, ее нормализация и создание средствами предложенной СУБД. Проектирование базы данных в AllFusion Erwin Data Modeler, описание программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 21.11.2010
Размер файла 677,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Федеральное агентство по образованию

Чайковский филиал

государственного образовательного учреждения

высшего профессионального образования

«Пермский государственный технический университет»

(ЧФ ПГТУ)

Кафедра автоматизации, информационных и инженерных технологий

Курсовая работа

по дисциплине «Базы данных»

Тема: «Разработка информационной системы: Управление гостиницей»

Выполнил:

студент группы БИ-06

Метелева Л.Ю.

Проверил:

ст. преподаватель

Пушкарев А. В.

Чайковский - 2010

Содержание

  • Введение
  • 1. Инфологическое проектирование базы данных
    • 1.1 Построение концептуальной модели
  • 2. Разработка структуры реляционной БД, ее нормализация и создание средствами предложенной СУБД
    • 2.1 Проектирование реляционной модели данных на основе принципов нормализации
    • 2.2 Нормализация
  • 3. Проектирование базы данных в AllFusion Erwin Data Modeler
    • 3.1 Описание программы AllFusion Erwin Data Modeler
    • 3.2 Ключевые характеристики AllFusion ERwin Data Modeler
    • 3.3 Построение таблиц
    • 3.4 Создание SQL - запросов (Structured Query Language)
    • 3.5 Результат работы в AllFusion Erwin Data Modeler
  • Заключение
  • Список литературы
  • Приложение 1
  • Введение
  • Цель курсовой работы - создать спроектировать информационную систему «Управление гостиницей», которая позволяла бы отображать полную информацию по состоянию гостиницы, направлениям её деятельности и отчётности по выполненным работам.
  • Задачи курсовой работы:
  • · Составить инфологическую модель будущей информационной системы «Управление гостиницей»
  • · Разработать реляционную модель ИС
  • · Разработать концептуальную модель ИС
  • · Используя, различные программные продукты сконструировать ИС «Управление гостиницей» и предоставить результат.

1. Инфологическое проектирование базы данных

1.1 Построение концептуальной модели

Для отображения полной информации по состоянию гостиницы, направлениям её деятельности и отчётности по выполненным работам, понадобится 9 таблиц.

Объектами модели являются: сотрудники, должности сотрудников, номера, категории номеров, состояние номеров, клиенты, бронь, дети, способ оплаты.

Основные атрибуты для сущности «сотрудники» представлены ниже в Таблице 1.1.

Таблица 1.1

Сотрудники

Атрибуты сущности

Идентификатор атрибута

Формат

Длина

Допустимые значения

1

2

3

4

5

Код сотрудника

Id_Sotrudnika

int

10

Not null

Фамилия

Family

varchar

20

Имя

Name

varchar

20

Отчество

Otchestvo

varchar

20

Дата рождения

Birthday

datetime

Образование

Obrazovanie

varchar

20

Должность

Dolgnost

varchar

20

Адрес

Adres

varchar

100

Телефон

Telephone

varchar

11

Заработная плата

Zarplata

Money

Основные атрибуты для сущности «Должности сотрудников» представлены в Таблице 1.2.

Таблица 1.2

Должности сотрудников

Атрибуты сущности

Идентификатор атрибута

Формат

Длина

Допустимые значения

1

2

3

4

5

Код должности

Id_dolgnosti

int

10

Not null

Должность

dolgnost

varchar

20

Основные атрибуты для сущности «Категории номеров» представлены в Таблице 1.3.

Таблица 1.3

Категории номеров

Атрибуты сущности

Идентификатор атрибута

Формат

Длина

Допустимые значения

1

2

3

4

5

Код категории

Kod_Kategorii

int

10

Not null

Количество мест

Kolichestvo_mest

int

10

Количество комнат

Kolichestvo_komnat

int

10

Дополнительная информация

Dopolnitelnaya_informaciya

text

Стоимость в сутки

Stoimost_v_sutki

money

Основные атрибуты для сущности «Состояние номеров» представлены в Таблице 1.4.

Таблица 1.4

Состояние номеров

Атрибуты сущности

Идентификатор атрибута

Формат

Длина

Допустимые значения

1

2

3

4

5

Код номера

Kod_Nomera

int

10

Not null

Код сотрудника

Id_Sotrudnika

int

10

Бронь

Bron

datetime

Заезд

Zaezd

datetime

Выезд

Viezd

datetime

Сумма

Summa

money

Основные атрибуты для сущности «Бронь» показаны в Таблице 1.5.

Таблица 1.5

Бронь

Атрибут сущности

Идентификатор атрибута

Формат

Длина

Допустимые значения

1

2

3

4

5

Код брони

Kod_broni

int

10

Not null

Код состояния

Kod_sostoyaniya

int

10

Список фамилий

Spisok_familii

varchar

40

Основные атрибуты для сущности «Клиенты» расписаны в Таблице 1.6.

Таблица 1.6

Клиенты

Атрибут сущности

Идентификатор атрибута

Формат

Длина

Допустимые значения

1

2

3

4

5

Код клиента

Kod_Klienta

int

10

Not null

ФИО

FIO

varchar

40

Дата рождения

Birthday

datetime

Пол

Pol

varchar

10

Вид документа

Vid_dokumenta

varchar

20

Серия

Seriya

varchar

20

Номер

Nomerйправление гостиницей```````````````````````````````````````````````````````````````````````````````````````````````````````````

varchar

20

Кем выдан

Kem_vidan

varchar

50

Основные атрибуты для сущности «Дети» представлены в Таблице 1.7.

Таблица 1.7

Дети

Атрибут сущности

Идентификатор атрибута

Формат

Длина

Допустимые значения

1

2

3

4

5

Код ребенка

Kod_rebenka

int

10

Not null

Код клиента

Kod_Klienta

int

10

Not null

ФИО ребенка

FIO_rebenka

varchar

40

Дата рождения ребенка

Birthday_rebenka

datetime

Основные атрибуты для сущности «Способ оплаты» описаны в Таблице 1.8.

Таблица 1.8

Способ оплаты

Атрибут сущности

Идентификатор атрибута

Формат

Длина

Допустимые значения

1

2

3

4

5

Код оплаты

Kod_oplati

int

10

Not null

Форма оплаты

Forma_oplati

varchar

20

Предоплата

Predoplata

money

Основные атрибуты для сущности «Номера» описаны Таблица 1.9.

Таблица 1.9

Номера

Атрибут сущности

Идентификатор атрибута

Формат

Длина

Допустимые значения

1

2

3

4

5

Код номера

Kod_Nomera

int

10

Not null

категория

Kategoriya

varchar

20

После выбора атрибутов определяются связи между объектами. В зависимости от условий, связи между объектами могут быть: один к одному, один ко многим и многие ко многим.

Между объектами Должности и Сотрудники имеется связь один ко многим, так как одна должность может быть у нескольких сотрудников, например, в штате гостиницы работают несколько горничных.

Между объектами Сотрудники и Состояние номера имеется связь один ко многим, потому что один номер могут обслуживать несколько сотрудников (горничные, администратор и т.п.).

Между объектами Клиенты и Дети связь один ко многим, так как у одного клиента может быть несколько детей.

Между объектами Состояние номера и Клиенты связь один ко многим, так как каждый в номер могут поселиться сразу несколько клиентов.

Между объектами Клиенты и Способ оплаты имеется связь многие ко многим, так как любой клиент может заплатить за проживание одним из вариантов оплаты (наличный и безналичный расчет).

Между объектами Номера и Состояние номера связь один ко многим, потому что один номер может быть в различных состояниях (свободен, забронирован, занят).

Между объектами Бронь и Состояние номера установлена связь один ко многим, потому что одновременно несколько номеров могут быть забронированы.

Между объектами Бронь и Клиенты связь один ко многим, так как номер может быть забронирован на семью.

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

Рис. 1. Концептуальная модель ИС «Управление гостиницей»

2. Разработка структуры реляционной БД, ее нормализация и создание средствами предложенной СУБД

2.1 Проектирование реляционной модели данных на основе принципов нормализации

На основе концептуальной модели строится реляционная модель, т.е. для каждого объекта создается таблица, содержащая все атрибуты данного объекта. Уникальный атрибут будет являться первичным ключом. Для построения связей между таблицами добавляются поля, которые будут внешними ключами. В результате, построив связи с помощью первичных и внутренних ключей, получаем реляционную модель.

Рис. 2. Реляционная модель ИС «Управление гостиницей»

2.2 Нормализация

Нормализация - это процесс, позволяющий гарантировать, эффективность структур данных в реляционной базе данных. Реляционная база данных считается эффективной, если она обладает следующими характеристиками: отсутствие избыточности, минимальное использование null-значений, предотвращение потери информации.

Первая нормальная форма (1НФ). Говорят, что реляционная таблица находится в первой нормальной форме, если и только если все значения полей атомарные.

Все таблицы реляционной модели данных находится в 1НФ по определению.

Вторая нормальная форма (2НФ). Говорят, что таблица находится во второй нормальной форме, если и только если каждый его неключевой атрибут зависит от первичного ключа.

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

Рис.3. Вторая нормальная форма

3. Проектирование базы данных в AllFusion Erwin Data Modeler.

Для проектирования базы данных была выбрана программная система разработки AllFusion Erwin Data Modeler 4.1, как одна из распространенных и, на мой взгляд, наиболее удобных систем, с очень большим функционалом.

3.1 Описание программы AllFusion Erwin Data Modeler

AllFusion ERwin Data Modeler (ранее: ERwin) - CASE-средство для проектирования и документирования баз данных, которое позволяет создавать, документировать и сопровождать базы данных, хранилища и витрины данных. Модели данных помогают визуализировать структуру данных, обеспечивая эффективный процесс организации, управления и администрирования таких аспектов деятельности предприятия, как уровень сложности данных, технологий баз данных и среды развертывания.

AllFusion ERwin Data Modeler (ERwin) предназначен для всех компаний, разрабатывающих и использующих базы данных, для администраторов баз данных, системных аналитиков, проектировщиков баз данных, разработчиков, руководителей проектов. AllFusion ERwin Data Modeler позволяет управлять данными в процессе корпоративных изменений, а также в условиях стремительно изменяющихся технологий.

AllFusion ERwin Data Modeler (ERwin) позволяет наглядно отображать сложные структуры данных. Удобная в использовании графическая среда AllFusion ERwin Data Modeler упрощает разработку базы данных и автоматизирует множество трудоемких задач, уменьшая сроки создания высококачественных и высокопроизводительных транзакционных баз данных и хранилищ данных. Данное решение улучшает коммуникацию в вашей организации, обеспечивая совместную работу администраторов и разработчиков баз данных, многократное использование модели, а также наглядное представление комплексных активов данных в удобном для понимания и обслуживания формате.

3.2 Ключевые характеристики AllFusion ERwin Data Modeler

· Синхронизация моделей/баз данных

· Автоматизированное создание структуры базы данных и обратное проектирование

· Публикация моделей

· Поддержка нотаций: IDEF1x, IE, Dimensional

· Возможна совместная работа группы проектировщиков (с помощью среды AllFusion Model Manager (ModelMart))

· Документирование структур баз данных

· Перенос структур баз данных (но не самих данных) из одного типа СУБД в другой 

3.3 Построение таблиц

Создаем сущности (таблицы) используем для этого панель управления для работы с созданием таблиц. Добавляем на рабочее место (display) необходимое количество сущностей, после того как добавили необходимое количество сущностей, приступаем к заполнению их. Информацию о сущностях и их атрибутах можно посмотреть в Приложении 1.

Указываем имена атрибутов, используя свойства сущности.

Устанавливаем ключевые поля, впоследствии по которым будет установлена связь между взаимодействующими таблицами.

Устанавливаем связи, так же при помощи панели управления.

3.4 Создание SQL - запросов (Structured Query Language)

SQL позволяет пользователю базы данных создавать и удалять, содержащиеся в отношениях данные, налагать обеспечивающие целостность реляционных данных правила и выполнять полный набор операций реляционной алгебры.

На языке SQL напишем запросы следующего содержания:

1. Данный запрос отображает информацию о наличном способе оплаты, т.е. выведены фамилии клиентов, осуществивших эту форму оплаты, а также сумма оплаты. Здесь также есть условие отбора со значением «наличная» без вывода на экран.

SELECT Klienti.FIO, Sostoyanie_nomera.Summa

FROM Klienti, Sposob_oplati, Sostoyanie_nomera

WHERE Sposob_oplati.Forma_oplati = `наличная';

В данном примере создан SQL - запрос, который осуществляет выборку (SELECT) по полям “ФИО” из (FROM) таблиц “Способ оплаты”, “Состояние номера” и “Клиенты”, где (WHERE) поле “Форма оплаты“ принимает значение «наличная».

2. Данный запрос отображает информацию о числах, когда был заезд в номера. Это упрощает поиск свободных номеров на конкретную дату.

SELECT Nomera.Kod_Nomera, Sostoyanie_nomera.Zaezd

FROM Nomera, Sostoyanie_nomera

В данном примере создан SQL - запрос, который осуществляет выборку (SELECT) по полям “Код номера” и “Заезд” из (FROM) таблиц “Номера”, “Состояние номера”.

3. Данный запрос имеет условие выбора, который заключается в отборе сотрудников с высшим образованием. Для этого в поле «условие отбора» вводим значение - «высшее» и не выводим данное поле на экран.

SELECT Dolgnosti.Dolgnosti, Sotrudniki.Familiya, Sotrudniki.Name, Sotrudniki.Otchestvo

FROM Dolgnosti, Sotrudniki

WHERE Sotrudniki.Obrazovanie = `Высшее'

В данном примере создан SQL - запрос, который осуществляет выборку (SELECT) по полям “Должности”, “Фамилия”, “Имя”, “Отчество” из (FROM) таблиц “Должности”, “Сотрудники” где (WHERE) поле “Сотрудники“ принимает значение «Высшее».

3.5 Результат работы в AllFusion Erwin Data Modeler

После создания ИС «Клиенты предприятия» в данной программе, можно выгрузить, код для создания, данной модели в любой среде, которая умеет работать с SQL операторами, результат выгрузки можно посмотреть в виде кода (Приложении 1) и в виде схемы (Рис 4).

Рис 4. Результат разработки ИС «Управление гостиницей» в AllFusion Erwin Data Modeler.

Заключение

Курсовая работа выполнена в соответствии с техническим заданием.

Разработана и спроектирована информационная система «Управление гостиницей», содержащая необходимые данные об обслуживании клиентов. Информационная система разработана в программной системе разработки баз данных AllFusion Erwin Data Modeler, что позволяет легко понять ее организацию и простоту управления. Получить необходимую информацию из базы данных можно, используя SQL - запросы.

В ходе выполнения курсового проекта, были решены такие задачи как:

· Составить инфологическую модель будущей информационной системы «Управление гостиницей»

· Разработать реляционную модель ИС

· Разработать концептуальную модель ИС

· Используя, различные программные продукты сконструировать ИС «Управление гостиницей» и предоставить результат.

Данные задачи раскрыты и расписаны в ходе описания всей курсовой работы.

Список литературы

1. Тиори Т., Фрай Дж. Проектирование структур баз данных. В 2 кн., М.: Мир, 2004. Кн. 1. 287 с.: Кн. 2. 320 с..

2. Мейер М. Теория реляционных баз данных. М.: Мир, 2001. 608 с.

3. Атре Ш. Структурный подход к организации баз данных. М.: Финансы и статистика, 2006. 320 с.

4. Бойко В.В., Савинков В.М. Проектирование баз данных информационных систем. М.: Финансы и статистика, 2003. 351 с

5. Цикритизис Д., Лоховски Ф. Модели данных. М.: Финансы и статистика, 2005. 344 с

Приложение 1

CREATE TABLE Bron (

Kod_Broni int NOT NULL,

Kod_sostoyaniya int NULL,

Spisok_familii varchar(40) NULL

)

go

ALTER TABLE Bron

ADD PRIMARY KEY (Kod_Broni)

go

CREATE TABLE Deti (

Kod_Rebenka int NOT NULL,

FIO_Rebenka varchar(40) NULL,

Kod_Klienta int NOT NULL,

Birthday_rebenka datetime NULL

)

go

ALTER TABLE Deti

ADD PRIMARY KEY (Kod_Rebenka, Kod_Klienta)

go

CREATE TABLE Dolgnosti (

Kod_dolgnosti int NOT NULL,

Dolgnost varchar(20) NULL

)

go

ALTER TABLE Dolgnosti

ADD PRIMARY KEY (Kod_dolgnosti)

go

CREATE TABLE Kategoriya (

Kod_kategorii int NOT NULL,

Kolichestvo_mest int NULL,

kolichestvo_komnat int NULL,

Dopolnitelnaya_informaciya text NULL,

Stoimost_v_sutki money NULL

)

go

ALTER TABLE Kategoriya

ADD PRIMARY KEY (Kod_kategorii)

go

CREATE TABLE Klienti (

Kod_Klienta int NOT NULL,

FIO varchar(40) NULL,

Birthday datetime NULL,

Pol varchar(10) NULL,

Vid_dokumenta varchar(20) NULL,

Seriya varchar(20) NULL,

Nomer_dokumenta varchar(20) NULL,

Kem_vidan varchar(50) NULL,

Kod_Broni int NOT NULL,

Kod_nomera int NOT NULL

)

go

ALTER TABLE Klienti

ADD PRIMARY KEY (Kod_Klienta)

go

CREATE TABLE Nomera (

Kod_Nomera int NOT NULL,

Kategoriya varchar(20) NULL

)

go

ALTER TABLE Nomera

ADD PRIMARY KEY (Kod_Nomera)

go

CREATE TABLE Nomera_Kategoriya (

Kod_Nomera int NOT NULL,

Kod_kategorii int NOT NULL

)

go

ALTER TABLE Nomera_Kategoriya

ADD PRIMARY KEY (Kod_Nomera, Kod_kategorii)

go

CREATE TABLE Sostoyanie_nomera (

Kod_Nomera int NOT NULL,

Bron datetime NULL,

Zaezd datetime NULL,

Viezd datetime NULL,

Summa money NULL,

Kod_Broni int NOT NULL,

ID_Sotrudnika int NOT NULL

)

go

ALTER TABLE Sostoyanie_nomera

ADD PRIMARY KEY (Kod_Nomera)

go

CREATE TABLE Sotrudniki (

ID_Sotrudnika int NOT NULL,

Family varchar(20) NULL,

Name varchar(20) NULL,

Otchestvo varchar(20) NULL,

Birthday datetime NULL,

Obrazovanie varchar(20) NULL,

Dolgnost varchar(20) NULL,

Adres varchar(100) NULL,

Telefon varchar(11) NULL,

Zarplata money NULL,

Kod_dolgnosti int NULL

)

go

ALTER TABLE Sotrudniki

ADD PRIMARY KEY (ID_Sotrudnika)

go

CREATE TABLE Sposob_op_Klienti (

Kod_Oplati int NOT NULL,

Kod_Klienta int NOT NULL

)

go

ALTER TABLE Sposob_op_Klienti

ADD PRIMARY KEY (Kod_Oplati, Kod_Klienta)

go

CREATE TABLE Sposob_oplati (

Kod_Oplati int NOT NULL,

Forma_oplati varchar(20) NULL,

Predoplata money NULL

)

go

ALTER TABLE Sposob_oplati

ADD PRIMARY KEY (Kod_Oplati)

go

ALTER TABLE Deti

ADD FOREIGN KEY (Kod_Klienta)

REFERENCES Klienti

go

ALTER TABLE Klienti

ADD FOREIGN KEY (Kod_Broni)

REFERENCES Bron

go

ALTER TABLE Klienti

ADD FOREIGN KEY (Kod_nomera)

REFERENCES Sostoyanie_nomera

go

ALTER TABLE Nomera_Kategoriya

ADD FOREIGN KEY (Kod_kategorii)

REFERENCES Kategoriya

go

ALTER TABLE Nomera_Kategoriya

ADD FOREIGN KEY (Kod_Nomera)

REFERENCES Nomera

go

ALTER TABLE Sostoyanie_nomera

ADD FOREIGN KEY (Kod_Nomera)

REFERENCES Nomera

go

ALTER TABLE Sostoyanie_nomera

ADD FOREIGN KEY (Kod_Broni)

REFERENCES Bron

go

ALTER TABLE Sostoyanie_nomera

ADD FOREIGN KEY (ID_Sotrudnika)

REFERENCES Sotrudniki

go

ALTER TABLE Sotrudniki

ADD FOREIGN KEY (Kod_dolgnosti)

REFERENCES Dolgnosti

go

ALTER TABLE Sposob_op_Klienti

ADD FOREIGN KEY (Kod_Klienta)

REFERENCES Klienti

go

ALTER TABLE Sposob_op_Klienti

ADD FOREIGN KEY (Kod_Oplati)

REFERENCES Sposob_oplati

Go


Подобные документы

  • Проектирование информационной системы программными средствами AllFusion Process Modeler и AllFusion Erwin Data Modeler. Диаграмма потоков данных DFD. Проектирование информационной системы с использованием UML, RationalRose. Модель вариантов использования.

    курсовая работа [604,1 K], добавлен 17.12.2015

  • Изучение возможностей AllFusion ERwin Data Modeler и проектирование реляционной базы данных (БД) "Санатория" на основе методологии IDEF1x. Определение предметной области, основных сущностей базы, их первичных ключей и атрибутов и связи между ними.

    лабораторная работа [197,5 K], добавлен 10.11.2009

  • Выделение объектов предметной области и взаимосвязей между ними. Разработка ER-модели на логическом уровне с использованием системы Erwin Data Modeler. Проектирование даталогической и реляционной модели в среде выбранной системы управления базами данных.

    курсовая работа [905,6 K], добавлен 26.12.2013

  • Анализ предметной области. Проектирование структуры базы данных в среде case-средства ERWIN в виде инфологической и даталогической моделей. Общие сведения о AllFusion Process Modeler 7. Требования к надежности, информационной и программной совместимости.

    курсовая работа [3,4 M], добавлен 25.11.2013

  • Создание модели "сущность-связь" и нормализация данных средствами программы Microsoft Access. Идентификация объектов предметной области и отношений между ними, разработка структуры физической модели, запросов и отчетов базы данных о студентах ВУЗа.

    контрольная работа [742,8 K], добавлен 08.06.2011

  • Структура отдела главного технолога, взаимоотношения с другими подразделениями. Создание модели информационной системы с помощью ERwin Process Modeler r7.3. Диаграмма декомпозиции первого уровня. Разработка модели базы данных технологического процесса.

    курсовая работа [423,2 K], добавлен 08.07.2012

  • Проектирование модели информационной системы "Склад" с помощью AllFusion Process Modeler 4.1 (Bpwin4.1). Диаграмма дерева узлов AS-TO-BE и AS-IS. ER-диаграмма потоков данных "Сущность-связь". Физическо-логическая модель базы данных в нотации IDEF1X.

    курсовая работа [2,4 M], добавлен 25.06.2014

  • Проектирование модели данных и ее реализация средствами СУБД Microsoft Access. Разработка приложения "Комиссионное вознаграждение". Выполение интерфейса информационной базы средствами системы управления данными. Создание запросов и отчетных форм.

    курсовая работа [5,8 M], добавлен 25.09.2013

  • Создание модели информационной системы с AllFusion Process Modeler 4.0 в стандарте IDEF0. Дополнение созданной модели процессов организационными диаграммами в нотации DFD. Резервирование номеров. Автоматизация рабочего места администратора гостиницы.

    курсовая работа [1,8 M], добавлен 17.06.2013

  • Описание предметной области разрабатываемой базы данных для теннисного клуба. Обоснование выбора CASE-средства Erwin 8 и MS Access для проектирования базы данных. Построение инфологической модели и логической структуры базы данных, разработка интерфейса.

    курсовая работа [3,8 M], добавлен 02.02.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.