- •Введение
- •1.5. Задание
- •1.6. Ход работы
- •1.6.1. Создание базы данных
- •1.6.2. Регистрация базы данных
- •1.6.3. Подключение к базе данных
- •1.6.4. Удаление базы данных
- •1.6.5. Извлечение метаданных
- •1.6.6. Резервное копирование и восстановление
- •1.7. Отчет о выполнении работы
- •1.8. Контрольные вопросы
- •2.4.2. Домены (Domains)
- •2.5. Задание
- •2.6. Ход работы
- •2.7. Отчет о выполнении работы
- •2.8. Контрольные вопросы
- •3.4.2. Индексы
- •3.5. Задание
- •3.6. Ход работы
- •3.7. Отчет о выполнении работы
- •3.8. Контрольные вопросы
- •4.4.1. Ограничение первичного ключа (Primary key)
- •4.4.2. Ограничения уникальности (Unique)
- •4.4.3. Ограничения внешнего ключа (Foreign keys)
- •4.4.4. Контрольные ограничения (Checks)
- •4.5. Задание
- •4.6. Ход работы
- •4.7. Отчет о выполнении работы
- •4.8. Контрольные вопросы
- •5.4.2. Бизнес-правила
- •5.4.3. Триггеры (Triggers)
- •5.4.4. Исключения (Exceptions) и обработка ошибок
- •5.6. Ход работы
- •5.7. Отчет о выполнении работы
- •5.8. Контрольные вопросы
- •6.4.2. Удаление существующих данных
- •6.4.3. Обновление существующих данных
- •6.5. Задание
- •6.6. Ход работы
- •6.7. Отчет о выполнении работы
- •6.8. Контрольные вопросы
- •7.5. Задание
- •7.6. Ход работы
- •7.7. Отчет о выполнении работы
- •7.8. Контрольные вопросы
- •8.4.2. Модифицируемые представления
- •8.5. Задание
- •8.6. Ход работы
- •8.7. Отчет о выполнении работы
- •8.8. Контрольные вопросы
- •9.4.2. Виды хранимых процедур в InterBase
- •Returns (
- •9.5. Задание
- •9.6. Ход работы
- •9.7. Отчет о выполнении работы
- •9.8. Контрольные вопросы
- •10.4.2. Создание динамической библиотеки с udf
- •Exports
- •Interface
- •10.4.4. Использование udf в базе данных
- •10.5. Задание
- •10.6. Ход работы
- •10.8. Контрольные вопросы
- •11.4.4. Права
-
8.7. Отчет о выполнении работы
Отчет о выполнении лабораторной работы №8 необходимо оформить на листах формата A4. Отчет должен содержать описание и результаты работы, представляемые в следующей последовательности:
-
1. Словесное описание и сценарий создания представлений для своей базы данных.
-
2. Краткое описание запросов с использованием всех созданных представлений. Распечатка этих запросов с указанием количества возвращенных ими строк.
-
3. Перечень файлов, полученных при выполнении лабораторной работы с указанием их имен, места расположения, даты изменения и размеров (сценарий, база данных, резервная копия базы данных, файл с запросами и файл с отчетом).
-
8.8. Контрольные вопросы
-
1. Что такое представление?
-
2. Какие запросы допускается использовать для создания представлений?
-
3. Как изменить представление?
-
4. Для чего можно использовать представления?
-
5. Какие представления являются модифицируемыми?
-
6. Как сделать любое представление модифицируемым?
-
7. Зачем используется параметр WITH CHECK OPTION?
-
8. Какие имеются неудобства работы с представлениями?
-
9. Для чего предназначено представление, созданное на рис. 26?
-
10. Почему представление, показанное на рис. 26 не является модифицируемым?
-
11. Можно ли сделать так, чтобы у представления, показанного на рис. 26, можно было удалять строки? Что для этого надо сделать?
-
9. Лабораторная работа №9.
-
Хранимые процедуры
-
9.1. Цель работы
Изучить виды используемых в Firebird хранимых процедур. Получить навыки работы с хранимыми процедурами с помощью команд SQL и с помощью программы "IB Expert".
9.2. Исходные данные
Исходными данными является индивидуальное задание и результат предыдущих лабораторных работ.
9.3. Используемые программы
Программы "IB Expert" и "Microsoft Word".
9.4. Теоретические сведения
9.4.1. Хранимые процедуры (Procedures)
Хранимая процедура – это откомпилированная во внутреннее представление сервера СУБД подпрограмма, хранящаяся в базе данных. Хранимые процедуры пишутся на специальном языке хранимых процедур и триггеров, в котором имеются операторы присваивания, ветвлений и циклов, и в которых можно использовать операторы SQL, такие как INSERT, DELETE, UPDATE и SELECT.
Хранимые процедуры позволяют переносить часть прикладных функций, связанных с обработкой данных, в саму данных. Например, хранимая процедура может управлять приемом заказа или переводом денег с одного банковского счета на другой. Для автоматического выполнения хранимых процедур при возникновении в базе данных определенных условий используются триггеры.
Хранимые процедуры создаются оператором CREATE PROCEDURE, в котором указываются следующие элементы:
-
1. имя хранимой процедуры;
-
2. входные и выходные параметры и их типы;
-
3. имена и типы данных локальных переменных, используемых процедурой;
-
4. последовательность инструкций, которые выполняются при вызове процедуры.
С помощью входных параметров внутрь хранимой процедуры можно передать значения, которые будут использоваться в ходе выполнения процедуры. С помощью выходных параметров хранимые процедуры возвращают значения, вычисленные в ходе выполнения процедуры.
Многие СУБД поддерживают хранимые функции, которые отличаются от хранимых процедур тем, что возвращают значение. InterBase не поддерживает хранимых функций. В InterBase для возврата значений из хранимых процедур применяются выходные параметры.
Некоторые СУБД поддерживают параметры, которые одновременно являются и входными, и выходными. InterBase не поддерживает такой возможности.
Для параметров и локальных переменных хранимых процедур используются те же типы данных, которые поддерживаются СУБД для столбцов таблиц.
Синтаксис оператора создания хранимой процедуры в InterBase:
-
CREATE PROCEDURE Имя_Процедуры [(Параметр <тип данных> [, Параметр <тип данных> ...])]
-
[RETURNS (Параметр <тип данных> [, Параметр <тип данных> ...])]
-
AS [<список переменных>] <блок>; <список переменных> =
-
DECLARE [VARIABLE] Переменная <тип данных>;
-
[DECLARE [VARIABLE] Переменная <тип данных>; ...]
-
<блок> =
-
BEGIN
-
<составной оператор>
-
[<составной оператор>...]
-
END
-
<составной оператор> = <блок> | Оператор;
-
<тип данных> = один из типов данных InterBase
Оператор – любой одиночный оператор языка хранимых процедур и триггеров InterBase.
Внутри хранимых процедур может быть предусмотрена обработка исключений. Хранимые процедуры могут быть вложенными и рекурсивными, т.е. вызывающими сами себя.
Основные преимущества хранимых процедур:
-
1. Производительность – перенос на сервер часто используемых действий приводит к существенному повышению производительности.
-
2. Многократное использование кода – части приложения, перенесенные на сервер, могут использоваться любыми другими приложениями, имеющими доступ к серверу.