1. Триггер tr_DeleteStudent:
- CREATE TRIGGER tr_DeleteStudent: Создает триггер с именем tr_DeleteStudent.
- ON Groupa: Триггер срабатывает при выполнении операций с таблицей Groupa.
- FOR DELETE: Триггер срабатывает только при удалении строк из таблицы Groupa.
- BEGIN...END: Блок кода, который выполняется при срабатывании триггера.
- DELETE FROM WorkloadLog WHERE group_id = DELETED.group_id;: Удаляет записи из таблицы WorkloadLog, где значение group_id совпадает с удаленной строкой из таблицы Groupa. DELETED - это псевдотаблица, которая хранит данные удаленной строки.
2. Триггер tr_InsertTeacher:
- CREATE TRIGGER tr_InsertTeacher: Создает триггер с именем tr_InsertTeacher.
- ON Teacher: Триггер срабатывает при выполнении операций с таблицей Teacher.
- FOR INSERT: Триггер срабатывает только при добавлении строк в таблицу Teacher.
- BEGIN...END: Блок кода, который выполняется при срабатывании триггера.
- INSERT INTO Department (dep_name) VALUES ('Не определен');: Вставляет новую запись в таблицу Department с именем отдела 'Не определен'.
В итоге:
- При удалении строки из таблицы Groupa, триггер tr_DeleteStudent удалит связанные записи в таблице WorkloadLog.
- При добавлении строки в таблицу Teacher, триггер tr_InsertTeacher добавит новую запись в таблицу Department с неопределенным именем отдела.
- Триггеры используются для автоматизации действий, которые должны происходить при определенных изменениях в базе данных.