Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие. Ратманова. Булатова..doc
Скачиваний:
131
Добавлен:
07.03.2015
Размер:
4.54 Mб
Скачать

Контрольные вопросы

  1. Что является результатом выполнениякоманды SELECT?

  2. Какие опции команды SELECT являются обязательными?

  3. Каково предназначение опции DISTINCT?

  4. В какой форме задается выражение в опции WHERE?

  5. Что такое декартово произведение отношений?Какую роль оно играет в процессе навигации по реляционной базе данных?

  6. Какую опцию используют при подведении промежуточных итогов посредством агрегативных функций?

  7. Когда используется опция HAVING?

  8. Для сортировки результатов выборки по убыванию какую опцию следует использовать в запросе?

  9. Когда удобно использовать опцию CASE в запросе?

  10. Для формирования пользовательских имен полей в результирующем отношении какую опцию следует использовать?

  11. В какой последовательности выполняются вложенные запросы?

  12. Охарактеризуйте внутреннее соединение таблиц. Какой опцией оно реализуется?

  1. Организация бизнес-логики

СУБД, MSSQLServerпредоставляет возможность частично или полностью перенести бизнес-логику приложения на уровень сервера баз данных. Для решения подобных задач служат механизмы триггеров, хранимых процедур и пользовательских функций.

    1. Хранимые процедуры

Хранимая процедура – это упорядоченная последовательность операторов SQL, оформленных в виде единого логического модуля.

В хранимых процедурах допускается использование переменных и параметров, а также операторов управления ходом выполнения и циклических конструкций.

Общий синтаксиссоздания хранимой процедуры:

CREATE PROC[EDURE] <Имя процедуры>

[@<Имя параметра> <Тип данных параметра>

[ = <Значение пар-ра по умолчанию>]

[OUTPUT]] [,...n ]

AS<SQL-выражения, составляющие тело процедуры>

Общий синтаксисвызова хранимой процедуры:

EXEC[UTE] <Имя процедуры>

[[<Имя входного пар-ра> = ]<Значение входного пар-ра>] [,…n]

Среда ManagementStudioпредоставляет два способа создания хранимой процедуры.

Первый способ – использование рассмотренного выше окна редактора запросов.

Второй – в «Обозревателе объектов» в ветке нужной базы данных выбрать пункт «Программирование / Хранимые процедуры» (рис. 6.1). При этом будет сгенерирован шаблон новой хранимой процедуры, снабженный подробными комментариями, которые призваны помочь в написании текста процедуры (рис. 6.2).

Рис. 6.1. Создание новой хранимой процедуры

Рис. 6.2. Автоматически генерируемый шаблон хранимой процедуры

Примеры:

1. Хранимая процедура, возвращающая сведения о поставках деталей (рис. 6.3)

Рис. 6.3. Текст хранимой процедуры №1 и результаты ее работы

2. Хранимая процедура, возвращающая сведения о поставках деталей за определенный интервал времени (рис. 6.4)

Рис. 6.4. Текст хранимой процедуры №2 и результаты ее работы

3. Процедура, добавляющая новую детальв таблицу деталей (рис. 6.5)

Рис. 6.5. Текст хранимой процедуры №3 и результаты ее работы

4. Процедура, возвращающая название материала, из которого изготовлено больше всего деталей (рис. 6.6)

Рис. 6.6. Текст хранимой процедуры №4 и результаты ее работы

5. Процедура, реализующая функцию каскадного удаления на связь между таблицами материалов и деталей (рис. 6.7)

Рис. 6.7. Текст хранимой процедуры №5 и результаты ее работы

Задание:создайте хранимуюпроцедурудля своей базы данных, в отчет поместитеееописание, код создания, код вызова, результат вызова.