- •И.И. Довгялло, с.М. Юдина база данных 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
Вариант 26
1. Спроектировать базу данных «Учет проданных туристических путевок» методом нормализации и методом семантического моделирования. Данные, которые должны храниться в базе, представлены в виде одной таблицы со следующими столбцами:
Код страны
Название страны
Срок подачи документов на визу (в днях)
Код менеджера
Фамилия и имя менеджера
Код маршрута
Название маршрута
Стоимость путевки по данному маршруту для 1 взрослого
Стоимость путевки по данному маршруту для 1 ребенка
Номер путевки
Дата продажи путевки
Фамилия, Имя, отчество туриста, купившего путевку
Количество взрослых по одной путевке
Количество детей по одной путевке
Оплаченная сумма
2. Разработать базу данных, таблицы и заполнить их данными. В базе данных должно быть не менее 40 путевок. Путевки продаются на 10-15 маршрутов, 3-4 менеджерами в 3-4 страны. Задать максимальное значение поля Количество детей по одной путевке равным двум. Добавить в таблицу, в которой содержится поле Дата продажи путевки, ограничение для проверки правильности ввода поля: Даты заезда не должна быть ранее текущей даты. Создать для каждой таблицы первичный ключ, а также внешние ключи для всех дочерних таблиц. Установить постоянные отношения между дочерними и родительскими таблицами (создаются при построении диаграммы базы данных). Задать ограничение NOT NULL для всех полей, входящих в первичные или внешние ключи.
3. Структуры таблиц и содержимое таблиц привести во второй главе пояснительной записки к курсовому проекту «Создание таблиц ».
4. В третьей главе курсового проекта «Основные команды SQL для извлечения, добавления и изменения данных» выполнить следующие действия и представить их результаты.
4.1. Создать запрос для выдачи следующих данных по путевкам: Код страны, Название страны, Срок подачи документов на визу, Код менеджера, Фамилия и имя менеджера, Код маршрута, Название маршрута, Стоимость путевки по данному маршруту для 1 взрослого, Стоимость путевки по данному маршруту для 1 ребенка.
4.2. Создать сгруппированный запрос для подсчета общей стоимости путевок, проданных каждым менеджером за определенный календарный период. Стоимость путевки = стоимости путевки по данному маршруту для 1 взрослого * Количество взрослых по одной путевке + Стоимость путевки по данному маршруту для 1 ребенка * Количество детей по одной путевке.
4.3. Создать сгруппированный запрос с подсчетом количества путевок по каждому маршруту.
4.4. Изменить Стоимость путевки по заданному маршруту для взрослого на 15%.
4.5. Скопировать в новую таблицу следующие данные: Код менеджера, Фамилия и имя менеджера, номер путевки, Фамилию, имя, отчество туриста, купившего путевку, Стоимость путевки для тех путевок, в которых разница между Датой продажи путевки и текущей датой меньше Срока подачи документов на визу.
4.6. Показать перечень туристических маршрутов, для которых общая стоимость проданных путевок выше средней по каждой туристическому агентству.
5. В четвертой главе должны быть представлены разработанные процедуры и функции.
5.1. Создать функцию для расчета стоимости туристической путевки. Проверить работу функции с помощью запроса.
5.2. Создать процедуру с параметрами «Код маршрута» и «Стоимость путевки по данному маршруту для 1 ребенка». Процедура должна выполнять проверку, есть ли заданный «Код маршрута» в списке маршрутов? Если такая запись существует, следует изменить Стоимость путевки по данному маршруту для 1 ребенка» соответствующим параметром. Если такого маршрута еще нет, следует добавить о нем новую запись.
6. В пятой главе должны быть разработаны и отображены триггеры, обеспечивающие целостность данных в создаваемой базе данных.
6.1. Создать триггер, который бы при вводе новой записи об оплате за туристическую путевку проверял бы наличие данного номера путевки в списке путевок. В случае неправильного ввода номера путевки следует выдать сообщение и откатить транзакцию. Если номер путевки введен правильно, то надлежит проверить соответствие Суммы оплаты стоимости путевки. Если Сумма оплаты равна стоимости путевки, необходимо выдать сообщение: «Оплата за туристическую путевку номер Х внесена», где Х номер путевки. Если Сумма оплаты меньше стоимости путевки, следует выдать сообщение и откатить транзакцию, в противном случае рассчитать сумму переплату (как разницу между Суммой оплаты и стоимостью путевки) и выдать сообщение с указанием номера путевки и суммы переплаты.
6.2. Создать триггер на удаление записи из списка туристических маршрутов. В теле триггера осуществить проверку, существуют ли записи о проданных путевках по данному маршруту и отменить удаление, если такая запись имеется, выдать соответствующее сообщение.
1 В таблице приведены условные данные, взятые для примера
2 Data Definition Language – язык определения данных, входит в состав команд языка SQL.
3 См. подробнее в разделе 5.4
4 Подробнее о запросах см. в разделе 5.4