В таблице 7.1 приведены специальные переменные,
которые могут
быть использованы в триггерных функциях.
Таблица 7.1 – Специальные переменные в триггерных функциях
Имя
Тип данных
Описание
NEW RECORD
Новая запись базы данных, созданная
командой INSERT или UPDATE при
срабатывании триггера уровня записи
(ROW).
Переменная используется для
модификации новых записей
OLD RECORD
Старая запись базы данных, оставшаяся
после выполнения команды INSERT
или UPDATE при
срабатывании
триггера уровня записи (ROW)
TG_NAME name Имя сработавшего триггера
TG_OP text Строка INSERT, UPDATE, DELETE в
зависимости от операции
TG_RELNAME name
Имя таблицы, в
которой сработал
триггер
Задание на лабораторную работу №7
Данная лабораторная работа не является обязательной для выполнения,
однако необходима для получения оценки выше «4» на экзамене.
1. Создайте отношение A. Для этого отношения определите два поля:
поле – номер (тип число) и поле – строка_значений (тип одномерная
матрица). Таблица будет иметь следующую структур:
номер_матрицы строка_значений
1 ‘{2,4}’
1 ‘{-3,1}’
2 ‘{0}’
2 ‘{5}’
3 ‘{-2,-4}’
Что соответствует матрицам
,
и
.
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
−
=
1
3
4
2
1
A
⎟⎟
⎠
⎞
⎜⎜
⎝
⎛
=
5
0
2
A
(
)
4
2
3
−
−
=
A
2.
Создайте отношение B, содержащее четыре поля: номер_операции
(целое), номер_первой матрицы (целое), номер_второй матрицы (целое),
название_функции (текст).
3. Создайте третье отношение – C, которое имеет поля: номер_операции
(целое) и поле результат (numeric).
4. Создайте функции сложения, вычитания, транспонирования,
умножения матриц,
которые работают с матрицами, определенными в
отношении A, т.е. на вход получают номер матрицы (или матриц – для
бинарных операций).
5. Создайте функцию вычисления определителя матрицы по ее номеру.
6. Создайте триггер, который:
• при добавлении новой строки в
отношение B (с новым
номером_операции) производит
расчет для этой операции, вызвав
соответствующую функцию для переданных матриц, и записывает
полученный результат в отношение C в виде нового кортежа;
• при обновлении строки в отношении B производит
пересчет,
согласно новых переданных параметров, если пересчет произведен без
ошибок, то обновляет соответствующий кортеж в отношении C;
• при выборе строки из отношения B производит пересчет, согласно
существующих параметров.
Достарыңызбен бөлісу: