Автор: Пользователь скрыл имя, 12 Марта 2012 в 19:35, курсовая работа
Данная курсовая работа направлена на:
• закрепление знаний и умений по дисциплине Базы данных
• выработку новых навыков в создании реляционных баз данных
• получение навыков разработки ИС
Введение 3
1. Задание 4
2. Построение инфологической концептуальной модели (ER-модели) 6
3. Построение реляционной схемы из ER-модели данных 10
4. Описание приложения 13
5. Проектирование форм, запросов и отчетов 16
6. Код программы 21
7. Тестирование базы данных 22
Список использованной литературы 28
Содержание
Введение
1. Задание
2. Построение инфологической концептуальной модели (ER-модели)
3. Построение реляционной схемы из ER-модели данных
4. Описание приложения
5. Проектирование форм, запросов и отчетов
6. Код программы
7. Тестирование базы данных
Список использованной литературы
Введение
Данная курсовая работа направлена на:
закрепление знаний и умений по дисциплине Базы данных
выработку новых навыков в создании реляционных баз данных
получение навыков разработки ИС
1. Задание
Разработать информационную систему гостиничного комплекса, которая несет собой следующую информацию: занятость номеров, заказ (дата заказа, дата въезда/выезда, стоимость), сведения о клиенте, занимающего тот или иной номер (ФИО, сведения о документе, удостоверяющем личность, адрес) и о самом номере (расположение, вид, стоимость периодичность обслуживания), а также использование служб быта: ежедневная уборка номера, прачечная, химчистка, питание (рестораны, бары) и развлечения (бассейн, сауна, бильярд и пр.).
Необходимо составить пакет из процедур и функций, который позволяет:
1) получить перечень и общее число постояльцев, заселявшихся в номера с указанными характеристиками за некоторый период;
2) получить список свободных номеров на данный момент;
3) получить сведения о постояльце из заданного номера: его счет гостинице за дополнительные услуги, виды услуг, которыми он пользовался;
4) получить сведения о наиболее часто посещающих гостиницу постояльцах;
5) получить список занятых сейчас номеров, которые освобождаются к указанному сроку;
6) получить сведения о конкретном номере: кем он был занят в определенный период.
Список требований к выполнению работы:
1. Построить инфологическую концептуальную модель (ER-модель), для чего:
Проанализировав предметную область, при необходимости уточнив и дополнив ее, выявить необходимый набор сущностей;
Определить требуемый набор атрибутов для каждой сущности, выделив идентифицирующие атрибуты;
Определить связи между объектами;
Описать полученную ER-модель на языке инфологического проектирования и на языке ER-диаграмм.
Получить реляционную схему из ER-модели, для чего:
Построить набор необходимых отношений базы данных;
Выделить первичные и внешние ключи определенных отношений;
Привести полученные отношения к третьей нормальной форме;
Определить ограничения целостности для внешних ключей отношений и для отношений в целом.
2. Используя имеющуюся СУБД создать спроектированную базу данных.
3. На языке SQL записать выражения для указанных в варианте задания типов запросов.
4. Проверить работоспособность написанных запросов в интерактивном режиме.
2. Построение инфологической концептуальной модели (ER-модели)
В результате анализа предметной области было выделено три класса объектов: заказ, клиент, описание номера, класс обслуживания, перечень услуг и используемые услуги.
Опишем, какими свойствами обладает каждый класс объектов для нашей конкретной задачи:
«Заказ» - номер заказа, дата заказа, дата прибытия, дата выезда, номер клиента, № номера, стоимость заказа.
«Клиент» - ФИО, номер клиента, номер паспорта, серия, адрес, гражданство
«Описание номера» - № номера, расположение, вид.
«Класс обслуживания» - вид номера, стоимость номера, периодичность обслуживания.
«Перечень услуг» - номер услуги, наименование, стоимость, ед. измерения.
«Используемые услуги» - номер заказа, номер услуги, дата, количество, общая стоимость.
Изобразим графически каждый объект и его свойства (см. рис. 1 - 6).
Рис. 1 Изображение связи «Объект - Свойство» для объекта «Заказ»
Рис. 2 Изображение связи «Объект- Свойство» для объекта «Клиент»
Рис. 3 Изображение связи «Объект - Свойство» для объекта «Описание номера»
Рис. 4 Изображение связи «Объект - Свойство» для объекта «Класс обслуживания»
Рис. 5 Изображение связи «Объект - Свойство» для объекта «Перечень услуг»
Рис. 6 Изображение связи «Объект - Свойство» для объекта «Используемые услуги»
Однако инфологическая модель предполагает наличие в себе отображения не только отдельных объектов и их свойств, но также связей между различными объектами. Изобразим графически инфологическую модель всей базы данных (см. рис. 7).
Рис. 7 Инфологическая модель базы данных гостиничного комплекса
3. Построение реляционной схемы из ER-модели данных
Следующим шагом выполнения курсовой работы было построение реляционной схемы базы данных из ER-модели. Для этой цели были использованы следующие правила:
Если многие из объектов обладают рассматриваемым свойством, то его можно хранить в базе данных так же, как и обычное.
Если только незначительное число обладает указанным свойством, то при использовании предыдущего решения для многих записей в таблице значение соответствующего поля будет пустым. Для устранения этого недостатка выделяют отдельную таблицу, которая включает в себя идентификатор объекта и атрибут, соответствующий рассматриваемому свойству (аналогично пункту 2).
Использовать одну таблицу, первичным ключом которой может быть идентификатор любого из двух объектов.
Для каждого из этих объектов использовать отдельные таблицы, а связь между ними отразить включив в одну из таблиц идентификатор связанного объекта из другой таблицы.
Такое объединение информации в одну таблицу возможно только в том случае, если между объектами связь 1:1, если связь другая, то выделяют по одной таблице для каждого объекта и одну для связи.
Всему обобщенному объекту может быть поставлена в соответствии одна таблица.
Каждой из категорий ставится в соответствии отдельная таблица, которая содержит в себе идентификатор объекта, общие свойства и свойства данной категории.
Кроме этого, возможны и комбинированные варианты. Выбор конкретного решения будет зависеть от того, насколько часто информация о разных категориях объекта обрабатывается совместно, как велико различие видовых свойств и т.п.
Если речь идет о составе изделий, то между изделием и деталью связь будет М:М. В этом случае – см. пункты 7, 9, 10.
Если речь идет о составе какой-нибудь организации, то между объектами скорее всего будет связь 1:М. В этом случае – см. пункты 8, 9.
В результате применения данных рекомендаций к инфологической модели была получена следующая реляционная модель:
Заказ (Номер заказа, Дата заказа, Дата прибытия, Дата выезда, Номер клиента, № номера, Стоимость);
Клиент (ФИО, Номер клиента, Номер паспорта, Серия, Адрес, Гражданство);
Описание номера (№ Номера, Расположение, Вид);
Класс обслуживания (Вид номера, Стоимость номера, Периодичность обслуживания);
Перечень услуг (Номер услуги, Наименование, Стоимость, Ед. измерения);
Используемые услуги (Номер заказа, Номер услуги, Дата, Количество, Общая стоимость).
Проверим соответствие данной модели нормальной форме Бойса-Кодда.
Данная модель удовлетворяет 1НФ, т.к. все атрибуты всех отношений имеют и всегда будут иметь атомарные значения.
Данная модель удовлетворяет 2НФ, т.к. она удовлетворяет 1НФ и во всех отношениях имеющих сложный первичный ключ, каждый не ключевой атрибут полностью зависит от первичного ключа.
Данная модель удовлетворяет 3НФ, т.к. она удовлетворяет 2НФ и никакой не ключевой атрибут не зависит от другого не ключевого атрибута.
Данная модель удовлетворяет НФБК, т.к. она удовлетворяет 3НФ и каждый из детерминантов отношений модели является ее ключом.
4. Описание приложения
Для хранения данных было создано 6 таблиц, структура которых приведена в таблице 1.
Таблица 1. Структура таблиц