Junior — Middle
Koji su scenariji korišćenja triggera u sistemima za upravljanje bazama podataka?
sobes.tech АИ
Одговор од АИ
Триггеры в СУБД — это специальные процедуры, которые автоматически выполняются при определённых событиях (вставка, обновление, удаление данных). Основные сценарии применения:
- Автоматическая проверка и поддержание целостности данных. Например, при удалении записи в одной таблице автоматически удалять связанные записи в другой.
- Логирование изменений. Запись истории изменений данных для аудита.
- Вычисление и обновление производных значений. Например, обновление поля с суммой или статусом при изменении связанных данных.
- Ограничение доступа и валидация. Проверка условий перед изменением данных.
Пример триггера на PostgreSQL, который логирует изменения в таблице пользователей:
CREATE TRIGGER log_user_update
AFTER UPDATE ON users
FOR EACH ROW
EXECUTE FUNCTION log_update();
CREATE FUNCTION log_update() RETURNS trigger AS $$
BEGIN
INSERT INTO user_changes(user_id, changed_at) VALUES (NEW.id, now());
RETURN NEW;
END;
$$ LANGUAGE plpgsql;