- •Введение
- •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. Права
-
5.6. Ход работы
Операции по созданию генераторов, исключений и триггеров с помо-щью выполнения сценария были изучены в ходе выполнения предыдущих лабораторных работ.
Для создания триггеров с помощью программы "IB Expert" в диалоговом режиме необходимо выполнить следующие действия:
-
1. Подключиться к базе данных.
-
2. Открыть окно с таблицей, для которой будет создаваться триггер.
-
3. Перейти на вкладку "Triggers" (рис. 19).
-
4. Нажать в этом окне правую кнопку мыши на одном из событий, для которого будет создаваться триггер.
-
5. Откроется контекстное меню, в котором надо выбрать команду "New Trigger".
Рис. 19. Вкладка "Triggers" окно просмотра таблицы
-
6. В результате откроется окно создания триггера (рис. 20 или 21), в котором достаточно лишь ввести тело триггера, а затем нажать кнопку [Compile Trigger] (Ctrl+F9).
Рис. 20. Окно создания триггера в обычном режиме
Рис. 21. Окно создания триггера в "ленивом" режиме
Переключение между двумя режимами просмотра и редактирования триггера, показанными на рис. 20 и 21 производится кнопкой [Lazy mode on/off].
Создание с помощью программы "IB Expert" в диалоговом режиме генераторов и исключений происходит следующим образом:
-
1. Открывается окно "Generators" либо "Exceptions". Для этого можно, например, выбрать команду главного меню "Database New Generator" или "Database New Exception".
-
2. В окне "Generators" или "Exceptions" вводятся для генератора – имя и начальное значение, а для исключения – имя и текст сообщения. Можно ввести данные сразу о нескольких генераторах и исключениях.
-
3. После ввода данных необходимо нажать кнопку [Compile] (F9), которая приведет к автоматической генерации необходимых операторов и их выполнению.
-
5.7. Отчет о выполнении работы
Отчет о выполнении лабораторной работы №5 необходимо оформить на листах формата A4.
Отчет должен содержать описание и результаты работы, представляемые в следующей последовательности:
-
1. Описание бизнес-правил, реализованных с помощью триггеров.
-
2. Распечатка сценария создания базы данных с комментариями, которые должны содержать сведения об авторе, дате создания, всех выполняемых действиях и пояснения к генераторам, исключениям и триггерам.
-
3. Перечень файлов, полученных при выполнении лабораторной работы с указанием их имен, места расположения, даты изменения и размеров (сценарий, база данных, резервная копия базы данных, файл с отчетом).
-
5.8. Контрольные вопросы
-
1. Что такое бизнес-правила?
-
2. Какие существуют способы реализации бизнес-правил?
-
3. Какие преимущества и недостатки имеет реализация бизнес-правил на сервере и в клиенте?
-
4. Что называется триггером? При каких событиях работают триггеры в InterBase? Для чего используются переменные NEW и OLD?
-
5. Как в триггере запретить выполнение операции?
-
6. Какие преимущества и недостатки имеют триггеры?
-
7. Что такое генератор? Как получить значение генератора?
-
8. Для чего используется функция GEN_ID?
-
9. Что такое исключение?
-
10. Как происходит процесс обработки исключений?
-
11. Какие ошибки могут быть кроме исключений, созданных пользователем?
-
6. Лабораторная работа №6.
-
Внесение изменений в базу данных
-
6.1. Цель работы
Изучить используемые в реляционных СУБД операторы изменения данных. Получить навыки работы с SQL-операторами INSERT, DELETE и UPDATE. Заполнить разрабатываемую базу данных тестовыми данными для последующего использования.
6.2. Исходные данные
Исходными данными является индивидуальное задание и результат предыдущих лабораторных работ.
6.3. Используемые программы
Программы "IB Expert" и "Microsoft Word".
6.4. Теоретические сведения
В SQL имеется три оператора, относящиеся к группе операторов DML (Data Manipulation Language), которые предназначены для выполнения запросов на добавление, удаление и обновление данных.
6.4.1. Добавление новых данных
Новые данные добавляются оператором INSERT. Наименьшей единицей информации, которую можно добавить в реляционную базу данных, является одна строка таблицы.
Немного упрощенный синтаксис оператора INSERT имеет вид:
INSERT INTO Имя_Таблицы [(Колонка [, Колонка ...])] {VALUES(<величина> [, <величина> ...]) | <оператор SELECT>}; <величина> = {:Переменная | <константа> | <выражение> | <функция> | udf([<величина> [, <величина> ...]]) | NULL | USER} <константа> = Число | 'Строка' <функция> = CAST(<величина> AS <тип данных>) | UPPER(<величина>) | GEN_ID(Имя_Генератора, <величина>) <выражение> = SQL выражение, возвращающее единичное значение
В этом описании можно выделить два варианта оператора:
-
1. Вставка одной строки. Для этого после ключевого слова VALUES в круг-лых скобках указывают вставляемые величины.
-
2. Вставка в таблицу нескольких строк, выбранных с помощью оператора SELECTTP*PT.
В этой лабораторной работе рассматривается только первый вариант оператора INSERT.
Пример, когда в качестве вставляемых величин применены константы:
-
INSERT INTO Person(Pr_ID, Pr_LastName, Pr_FirstName) VALUES(150, 'Иванов', 'Петр');
Пример использования для вставки значений переменных:
DECLARE Person_Number INTEGER; -- объявление DECLARE LastName VARCHAR(30); -- локальных DECLARE FirstName VARCHAR(30); -- переменных BEGIN Person_Number = 150; LastName = 'Иванов'; FirstName = 'Петр'; INSERT INTO Person(Pr_ID, Pr_LastName, Pr_FirstName) VALUES(:Person_Number, :LastName, :FirstName); END;