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