
- •3 Завдання до лабораторних робіт
- •3.1 Лабораторна робота № 1
- •1 Теоретические сведения
- •2 Ход работы
- •2.1 Создание базы данных
- •2.2 Регистрация базы данных
- •2.3 Подключение к базе данных
- •2.4 Удаление базы данных
- •2.5 Извлечение метаданных
- •2.6 Резервное копирование и восстановление
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.2 Лабораторна робота № 2
- •1 Теоретические сведения
- •1.1 Типы данных InterBase
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.3 Лабораторна робота № 3
- •1 Теоретические сведения
- •1.1 Таблицы (Tables)
- •1.2 Индексы
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.4 Лабораторная работа № 4
- •1 Теоретические сведения
- •1.2 Ограничение первичного ключа (Primary key)
- •1.2 Ограничения уникальности (Unique)
- •1.3 Ограничения внешнего ключа (Foreign keys)
- •1.4 Контрольные ограничения (Checks)
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.5 Лабораторная работа №5.
- •1 Теоретические сведения
- •1.1 Генераторы (Generators)
- •1.2 Бизнес-правила
- •1.3 Триггеры (Triggers)
- •2. Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.6 Лабораторная работа №6
- •1 Теоретические сведения
- •1.1 Добавление новых данных
- •1.2 Удаление существующих данных
- •1.3 Обновление существующих данных
- •2. Ход работы
- •3. Задание
- •4. Отчет о выполнении работы
- •5. Контрольные вопросы
- •3.7 Лабораторная работа №7
- •1 Теоретические сведения
- •2. Ход работы
- •3. Задание
- •4. Отчет о выполнении работы
- •5. Контрольные вопросы
- •3.8 Лабораторная работа №8
- •1 Теоретические сведения
- •1.1 Представления (Views)
- •1.2 Модифицируемые представления
- •2 Ход работы
- •3 Задание
- •4 Отчет о выполнении работы
- •5 Контрольные вопросы
- •3.9 Лабораторная работа №9
- •1 Теоретические сведения
- •1.1 Хранимые процедуры (Procedures)
- •1.2 Виды хранимых процедур в InterBase
- •2 Ход работы
- •3 Задание
- •4. Отчет о выполнении работы
- •5. Контрольные вопросы
- •3.10 Лабораторная работа №10
- •1 Теоретические сведения
- •1.1 Функции пользователя (udFs)
3 Задание
Лабораторную работу следует выполнять в следующем порядке:
1. Создать аналогично предыдущим лабораторным работам рабочую папку.
2. Скопировать в эту папку файл сценария, созданный при выполнении предыдущей лабораторной работы.
3. Открыть в приложении "IB Expert" этот сценарий.
4. Добавить в конец сценария операторы создания не менее двух представлений.
5. Выполнить сценарий и сохранить его в папке.
6. Зарегистрировать созданную базу данных в программе "IB Expert" и подключиться к ней.
7. Создать в своей базе данных еще одно представление в диалоговом режиме, которое не должно быть модифицируемым. Оно должно называться "TestView" и основываться, например, на нескольких таблицах или других представлениях. Добавить в диалоговом режиме к этому просмотру триггеры для разрешения выполнения обновления. Перенести в сценарий операторы создания этого представления и триггеров, которые автоматически сгенерирует "IB Expert".
8. Создать в папке "ЛР8" резервную копию базы данных.
9. Оформить отчет о выполнении лабораторной работы.
4 Отчет о выполнении работы
Отчет должен содержать описание и результаты работы, представляемые в следующей последовательности:
1. Словесное описание и сценарий создания представлений для своей базы данных.
2. Краткое описание запросов с использованием всех созданных представлений. Распечатка этих запросов с указанием количества возвращенных ими строк.
3. Перечень файлов, полученных при выполнении лабораторной работы с указанием их имен, места расположения, даты изменения и размеров (сценарий, база данных, резервная копия базы данных, файл с запросами и файл с отчетом).
5 Контрольные вопросы
1. Что такое представление?
2. Какие запросы допускается использовать для создания представлений?
3. Как изменить представление?
4. Для чего можно использовать представления?
5. Какие представления являются модифицируемыми?
6. Как сделать любое представление модифицируемым?
7. Зачем используется параметр WITH CHECK OPTION?
8. Какие имеются неудобства работы с представлениями?
9. Для чего предназначено представление, созданное на рисунке 8.2?
10. Почему представление, показанное на рисунке 8.2, не является модифицируемым?
11. Можно ли сделать так, чтобы у представления, показанного на рисунке 8.2, можно было удалять строки? Что для этого надо сделать?
3.9 Лабораторная работа №9
Тема работы: Хранимые процедуры
Цель работы: Изучить виды используемых в Firebird хранимых процедур. Получить навыки работы с хранимыми процедурами с помощью команд SQL и с помощью программы "IB Expert".
1 Теоретические сведения
1.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. Многократное использование кода – части приложения, перенесенные на сервер, могут использоваться любыми другими приложениями, имеющими доступ к серверу.