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