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.
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).