
- •И.И. Довгялло, с.М. Юдина база данных sql Server 2005. Курсовое проектирование
- •Введение
- •1. Цель и задачи работы над курсовым проектом
- •2. Структура пояснительной записки
- •3. Общие требования к выполнению курсоВого проекта и содержанию пояснительной записки
- •4. Пример задания на курсовое проектирование
- •5. Пример пояснительной записки курсового проекта
- •5.1. Введение
- •5.2. Пример оформления главы 1 « Проектирование базы данных»
- •5.2.1. Проектирование базы данных методом нормализации таблиц
- •5.1.2. Проектирование базы данных методом семантического моделирования в среде Erwin
- •5.3. Пример оформления главы 2 «Создание таблиц в sql Server 2005 »
- •5.3.1. Команды создания и модификации таблиц
- •5.3.2. Построение диаграммы базы данных
- •5.3.3. Просмотр структуры и содержимого таблиц
- •5.4. Пример оформления главы 3 «Основные команды sql для извлечения, добавления и изменения данных»
- •5.5. Пример оформления главы 4. «Создание процедур и функций»
- •5.7. Пример оформления главы 5 «Создание триггеров»
- •5.8. Пример оформления заключения по курсовому проекту
- •6. Нормативные требования к оформлению курсового проекта
- •Вариант 2
- •Вариант 3
- •Вариант 4
- •Вариант 5
- •Вариант 6
- •Вариант 7
- •Вариант 8
- •Вариант 9
- •Вариант 10
- •Вариант 11
- •Вариант 12
- •Вариант 13
- •Вариант 14
- •Вариант 15
- •Вариант 16
- •Вариант 17
- •Вариант 18
- •Вариант 19
- •Вариант 20
- •Вариант 21
- •Вариант 22
- •Вариант 23
- •Вариант 24
- •Вариант 25
- •Вариант 26
Вариант 7
Спроектировать базу данных для информационно-поисковой системы «Гостиница» методом нормализации и методом семантического моделирования. Данные, которые должны храниться в базе, представлены в виде одной таблицы со следующими столбцами:
Код гостиничного номера (первая цифра означает этаж, следующие за ним цифры – номер апартамента на этаже).
Код типа номера (одноместный, двухместный, люкс, полулюкс и т.д.).
Код постояльца
ФИО постояльца
Домашний адрес постояльца
Пол
Номер телефона в номере,
Оплата за сутки
Дата и время заселения
Дата и время выезда
Сумма оплаты при заселении
Общая сумма оплаты за все время проживания
Оплата за бронирование номера
Признак, характеризующий, занят или свободен номер или место в двухместном номере
Разработать базу данных, таблицы и заполнить их данными. Предполагается, что гостиница имеет шесть этажей по 6 - 8 номеров различного типа на каждом этаже. Примерно половина номеров должны быть занята гостями. Даты их заселения и даты выезда могут повторяться, но не у всех. Кроме того, журнал учета проживающих может содержать данные о тех, кто уже выехал. В конце года сведения из текущего журнала добавляются в специальный архив. Предусмотреть в создаваемых таблицах ограничения целостности следующих типов:
NOT NULL – для полей, которые будут являться первичными и внешними ключами,
PRIMARY KEY – для полей, выбранных в качестве первичных ключей,
FOREIGN KEY – для полей, являющихся внешними ключами (создается при построении диаграммы базы данных),
CHECK для полей «Дата заселения» и «Дата выезда» (первая не должна быть больше второй, а также превышать системную дату).
В третьей главе курсового проекта «Основные команды SQL для извлечения, добавления и изменения данных» выполнить следующие действия и представить их результаты.
Показать список всех свободных одноместных номеров.
Показать список свободных мест в двухместных номерах. Показать поля: код номера, тип, оплату за одни сутки, пол проживающего, если одно место в номере занято.
Занести в список проживающих сведения о новом госте.
Изменить цену за сутки для номеров определенного типа. Для задания типа использовать подстановочную переменную.
В новую таблицу поместить сведения о всех номерах, которые будут освобождены к определенной дате.
Подсчитать, сколько всего занято номеров каждого типа.
Подсчитать общий доход от сдачи номеров за определенный месяц отдельно для каждого типа номера.
4.В четвертой главе должны быть представлены разработанные процедуры и функции в среде QUERY ANALYZER.
Создать функцию для подсчета общей стоимости проживания. При этом следует подсчитать: общее число полных суток, число часов сверх общего количества полных суток, и если это число часов меньше 12, то к общей сумме добавить оплату за часы из расчета «оплата за сутки/24*число часов». Если же число часов превышает 12, то за них следует оплачивать, как за полные сутки.
Создать процедуру для получения документа о проживающих в гостинице на определенную дату с выводом следующих полей; Тип номера, код типа номера, ФИО гостя, дата заселения, предполагаемая дата выезда. Данные должны быть упорядочены по типу номера. Для каждого типа номера следует подсчитать и вывести общее количество номеров, количество занятых номеров, количество свободных номеров, % занятости номеров данного типа.
В пятой главе описать процесс создания триггеров как дополнительного средства обеспечения целостности базы данных.
Создать триггеры, которые при добавлении, удалении или изменении кода номера в таблице со сведениями о постояльцах соответственно изменял статус номера или места в двухместном номере.