Skip to content

Latest commit

 

History

History
53 lines (38 loc) · 2.81 KB

SQL Avançado 4 - 🔫 Triggers.md

File metadata and controls

53 lines (38 loc) · 2.81 KB

#Triggers em MySQL

Introdução

Triggers (acionadores) são objetos de banco de dados que permitem a execução automática de ações em resposta a determinados eventos que ocorrem no banco de dados. Esses eventos podem incluir inserções, atualizações ou exclusões de registros em tabelas. Triggers são uma maneira poderosa de automatizar tarefas e aplicar lógica de negócios diretamente no banco de dados.

Estrutura de um Trigger

Um trigger é composto por três partes principais:

  1. Evento: O evento que dispara o trigger, como INSERT, UPDATE ou DELETE.
  2. Tabela: A tabela à qual o trigger está associado.
  3. Ação: A ação que o trigger executa quando o evento ocorre. Pode ser um bloco de código SQL ou uma chamada a uma Stored Procedure.

Exemplo de Trigger

Suponha que queremos manter uma contagem automática de quantas vezes um jogador realiza uma compra na nossa loja de jogos. Vamos criar um trigger que incrementa o contador toda vez que uma nova compra é inserida na tabela de compras:

DELIMITER //
CREATE TRIGGER AtualizaContadorCompras
AFTER INSERT ON Compras
FOR EACH ROW
BEGIN
    UPDATE Jogadores
    SET total_compras = total_compras + 1
    WHERE id_jogador = NEW.id_jogador;
END;
//
DELIMITER ;

Tipos de Triggers

  • BEFORE: Executa a ação antes do evento ocorrer. Pode ser usado para validar ou modificar dados antes da operação.
  • AFTER: Executa a ação após o evento ocorrer. Pode ser usado para auditoria ou atualizações secundárias.
  • FOR EACH ROW: Indica que a trigger é executada para cada linha afetada pelo evento.
  • INSTEAD OF: Usado com vistas (views) atualizáveis. Substitui a operação padrão na vista pela operação definida no trigger.

Vantagens e Considerações

  • Automatização: Triggers automatizam tarefas no nível do banco de dados, reduzindo a necessidade de intervenção manual.
  • Consistência: Asseguram que ações específicas ocorram sempre que um evento é disparado, mantendo a consistência dos dados.
  • Performance: Embora úteis, triggers podem afetar o desempenho, especialmente se não forem otimizados corretamente.

Exemplos de Uso

  • Auditoria de Mudanças: Registre todas as mudanças feitas em uma tabela para fins de auditoria.
  • Validação de Dados: Garanta que apenas dados válidos sejam inseridos ou atualizados.
  • Atualizações Secundárias: Mantenha informações secundárias sincronizadas após uma alteração.

Conclusão

Triggers são uma ferramenta poderosa em bancos de dados para automatizar ações em resposta a eventos. Eles ajudam a manter a consistência e a integridade dos dados e permitem que a lógica de negócios seja aplicada diretamente no banco de dados. No entanto, eles devem ser usados com cuidado, considerando o desempenho e a manutenibilidade do sistema.