Gatilhos (triggers) podem ser usados para impor restrições d...
a Internet, julgue os próximos itens.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: C - certo
Vamos entender o motivo pelo qual a afirmação é correta:
Os gatilhos (triggers) são recursos muito importantes em um banco de dados relacional. Eles são, essencialmente, procedimentos automáticos que são ativados (ou "disparados") em resposta a eventos específicos em tabelas ou visões, tais como inserções, atualizações ou exclusões. O objetivo principal do uso de gatilhos é garantir a integridade dos dados, automatizar tarefas e aplicar regras de negócios no nível do banco de dados, mesmo sem a intervenção direta das aplicações que acessam esses dados.
A afirmação da questão destaca que os gatilhos podem ser usados para impor restrições de integridade semântica. Isso significa que eles podem ser configurados não apenas para garantir que os dados atendam a restrições técnicas, como chaves estrangeiras ou únicas, mas também para assegurar que os dados respeitem certas regras de negócios ou lógicas que são específicas da aplicação que utiliza o banco de dados.
Um gatilho é definido para responder a um evento específico. Este evento normalmente está associado a uma operação de DML (Data Manipulation Language) – INSERT, UPDATE, DELETE – em uma tabela. Quando o evento ocorre, o gatilho avalia uma condição (se houver), e se essa condição for verdadeira, uma ação, que geralmente consiste em uma ou mais declarações SQL, é executada.
Caso uma condição não seja especificada no gatilho, isso quer dizer que a ação será executada sempre que o evento ao qual o gatilho está associado acontecer. A ação desencadeada pelo gatilho pode incluir uma variedade de operações, como modificar dados, chamar procedimentos armazenados, enviar mensagens, entre outros, e essa ação pode ser composta por várias declarações SQL.
Portanto, a afirmação de que gatilhos podem ser usados para impor restrições de integridade semântica, especificando evento, condição e ação, e que a ação pode ser uma sucessão de declarações SQL é totalmente correta, justificando o gabarito da questão.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
"Os TRIGGERS são usados com enorme eficiência para impor e manter integridade referencial de baixo nível, e não para retornar resultados de consultas. A principal vantagem é que eles podem conter uma lógica de processamento complexa.
Você pode usar TRIGGERS para atualizações e exclusões em cascata através de tabelas relacionadas em um banco de dados, impor integridades mais complexas do que uma restrição CHECK, definir mensagens de erro personalizadas, manter dados desnormalizados e fazer comparações dos momentos anteriores e posteriores a uma transação."
1. O evento: q sao atualizaçoes no BD(especificados apos BEFORE);
2. A condição: determina se a açao da regra deve ser executada;
3. A ação: q normalmente eh 1 sequencia de isntrucoes SQL, mas pde ser outro procedimento logico.
Suponha q vc queira ser avisado qdo suas vendas ultrapassarem 10.000,00; o trigger pde disparar 1 açao qdo isso ocorrer, por exemplo, enviando um email lhe avisando. Seria mais ou menos assim:
CREATE TRIGGER recorde_vendas
BEFORE INSERT OR UPDATE OF vendas,
FOR EACH NOW
WHEN(NEW.vendas > 10000)
ENVIAR_EMAIL
(NEW.email)
Então, nesse caso, tem-se o trigger recorde_vendas, que sera disparado sempre que um evento(INSERT/UPDATE) possuir a condiçao(WHEN) de vendas superior a 10000, cuja ação é o envio de um email para o vendedor.
alguem explica esse trecho
"Se uma condição não for especificada, a ação será disparada pelo evento. "
Raphael Lacerda
a condição de uma trigger é opcional (cláusula WHEN é opcional.) Se não tem condição, ao acontecer o evento, a ação vai ser executada de qualquer forma
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo