Quais são os tipos de execução de uma trigger?
As triggers podem ser executadas antes ou depois dos eventos que as disparam.
O que é uma TRIGGER em SQL?
Um objeto de banco de dados que executa automaticamente um bloco de código SQL em resposta a certos eventos em uma tabela (ex: INSERT, UPDATE, DELETE).
Qual a sintaxe básica para criar uma TRIGGER que executa após a inserção de dados na tabela ITENS_NOTAS?
CREATE TRIGGER TG_TAB_FATURAMENTO
AFTER INSERT ON ITENS_NOTAS
BEGIN
– Comandos SQL aqui
END;
Qual a finalidade do BEGIN e END em uma TRIGGER?
Delimitar o bloco de código SQL que será executado quando a TRIGGER for acionada.
Qual é a função da linha CREATE TRIGGER TG_TAB_FATURAMENTO?
Cria um novo gatilho (TRIGGER) no banco de dados e o nomeia como TG_TAB_FATURAMENTO.
O que significa AFTER INSERT ON ITENS_NOTAS?
Especifica que a TRIGGER será executada automaticamente após cada operação de inserção de dados na tabela ITENS_NOTAS.
O que faz o comando DELETE FROM TAB_FATURAMENTO; dentro da TRIGGER?
Remove todos os registros existentes da tabela TAB_FATURAMENTO. Isso garante que a tabela seja atualizada com os dados mais recentes, evitando duplicações ou informações desatualizadas.
Explique o propósito do comando INSERT INTO TAB_FATURAMENTO … SELECT … dentro da TRIGGER.
Insere novos registros na tabela TAB_FATURAMENTO, calculando o faturamento a partir das tabelas NOTAS e ITENS_NOTAS. A consulta SELECT calcula o faturamento para cada data de venda, somando o produto da quantidade pelo preço dos itens.
Qual a função da cláusula INNER JOIN ITENS_NOTAS ITN ON N.NUMERO = ITN.NUMERO na consulta SELECT?
Combina os registros das tabelas NOTAS (apelidada de N) e ITENS_NOTAS (apelidada de ITN) com base na correspondência dos números das notas fiscais. Isso permite relacionar as informações da nota fiscal com os itens vendidos.
O que faz a cláusula GROUP BY N.DATA_VENDA na consulta SELECT?
Agrupa os resultados da consulta por data de venda (N.DATA_VENDA). Isso permite calcular o faturamento total para cada dia, somando as vendas de todos os itens vendidos naquela data.
Quais são os benefícios de usar TRIGGERS em um banco de dados?
Automatização: Executam tarefas automaticamente em resposta a eventos.
Consistência: Garantem a consistência dos dados, aplicando regras automaticamente.
Centralização: Centralizam a lógica de negócios no banco de dados.
Auditoria: Podem ser usadas para rastrear mudanças nos dados.
Quais são os tipos de TRIGGERS com base no tempo de execução?
BEFORE: Executada antes do evento (INSERT, UPDATE, DELETE).
AFTER: Executada após o evento.
Quais são os eventos que podem disparar uma TRIGGER?
INSERT (inserção de dados)
UPDATE (atualização de dados)
DELETE (exclusão de dados)
Como as TRIGGERS podem afetar o desempenho do banco de dados?
TRIGGERS mal projetadas podem causar lentidão nas operações de banco de dados, pois são executadas automaticamente. É importante otimizar o código dentro da TRIGGER e evitar operações complexas desnecessárias.
Em quais situações pode ser preferível usar outros mecanismos em vez de TRIGGERS?
Lógica na Aplicação: Quando a lógica pode ser implementada diretamente na aplicação, evitando a sobrecarga do banco de dados.
Jobs Agendados: Para tarefas de manutenção que não precisam ser executadas em tempo real.
No contexto da aula, qual problema a TRIGGER TG_TAB_FATURAMENTO resolve?
Garante que a tabela TAB_FATURAMENTO seja automaticamente atualizada sempre que novos dados são inseridos nas tabelas NOTAS e ITENS_NOTAS, mantendo o relatório de faturamento sempre atualizado.
Por que a TRIGGER primeiro deleta todos os dados da TAB_FATURAMENTO antes de inserir os novos dados?
Para garantir que não haja dados duplicados ou desatualizados na tabela. A exclusão completa e reinserção garante que a tabela reflita o estado mais recente das vendas.
Qual comando utilizamos para modificar a TRIGGER existente, em vez de apagá-la e criar uma nova?
CREATE OR REPLACE TRIGGER.
Quais condições foram adicionadas na definição da TRIGGER para que ela seja executada também em operações de UPDATE e DELETE?
OR UPDATE OR DELETE após o AFTER INSERT.
Por que é importante que a TRIGGER seja executada em operações de UPDATE e DELETE?
Para garantir que a tabela de faturamento esteja sempre atualizada e correta, refletindo as alterações e exclusões de itens de notas fiscais.
O que são DDL Triggers no Oracle SQL?
São gatilhos que disparam automaticamente quando comandos DDL (como CREATE, ALTER, DROP) são executados no banco de dados.
Em que momento um Trigger DDL pode ser executado?
Pode ser executado BEFORE ou AFTER um evento DDL, como CREATE, ALTER, DROP, etc
O que são Triggers DML?
São gatilhos que executam automaticamente um bloco PL/SQL após ou antes de comandos DML como INSERT, UPDATE ou DELETE.
Quais os tipos de eventos que disparam Triggers DML?
INSERT, UPDATE, DELETE.