1 - Gatilhos

Olá, iniciaremos agora mais uma etapa do nosso estudo. Este módulo descreve recursos mais avançados da linguagem SQL. Aprenderemos o que são gatilhos (triggers) e visões (views). Também estudaremos como modificar um esquema.

Um gatilho, chamado de Trigger, em inglês, refere-se aos miniprogramas criados em SQL que podem ser executados antes ou depois de operações de seleção ou manipulação de dados. As triggers têm esse nome porque, assim como uma arma, elas “disparam” uma ação.

Normalmente, as triggers são criadas para que as configurações de integridade referencial possam existir.

Por exemplo: Suponha que exista uma tabela de nome PESSOA e outra tabela de nome DEPENDENTE. Na tabela de DEPENTENDE aparece a chave primária da tabela PESSOA para que seja possível identificar qual é a pessoa a quem aquele dependente depende. Algo como uma tabela de pais (PESSOA) e filhos (DEPENDENTE). Uma regra que poderia ser criada é “ao se excluir uma pessoa, todos os dependentes dessa pessoa também devem ser excluídos”. Para criar essa regra no banco de dados é necessário criar uma trigger de deleção, onde, no momento que um comando de deleção de dados for executado, como por exemplo DELETE FROM PESSOA WHERE ID_Pessoa = 123, a trigger seria disparada e executaria um comando como DELETE FROM DEPENDENTE WHERE ID_Pessoa = 123.

As triggers são muito poderosas e podem implementar uma centena de regras de negócio. Embora isso não seja indicado como melhor opção em nível de projeto de sistema, é possível colocar as regras dentro de triggers. Entretanto, o ideal é deixar as regras de negócio da camada da aplicação, e no banco de dados, apenas a camada de persistência (armazenamento).

Copyright © 2014 AIEC.