Sobes.tech
Junior — Middle
107

Мәліметтер базасын басқару жүйелерінде триггерлерді қолдану сценарийлері қандай?

Сұралған компаниялар
AvitoAvito
Zonatelecom

AI-дан жауап

sobes.tech AI

Триггеры в СУБД — это специальные процедуры, которые автоматически выполняются при определённых событиях (вставка, обновление, удаление данных). Основные сценарии применения:

  • Автоматическая проверка и поддержание целостности данных. Например, при удалении записи в одной таблице автоматически удалять связанные записи в другой.
  • Логирование изменений. Запись истории изменений данных для аудита.
  • Вычисление и обновление производных значений. Например, обновление поля с суммой или статусом при изменении связанных данных.
  • Ограничение доступа и валидация. Проверка условий перед изменением данных.

Пример триггера на 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;