Conceitos Essenciais de Banco de Dados: Views, Triggers e SPs
Classificado em Computação
Escrito em em português com um tamanho de 3,88 KB
Visões (Views)
- Uma visão é uma tabela virtual que é definida a partir de outras tabelas, contendo sempre os dados atualizados.
Benefícios das Visões
- Disponibilidade: Simplificam e centralizam a definição de consultas frequentes, evitando erros e melhorando a produtividade dos usuários.
- Confidencialidade: Restringem o acesso somente a projeções e/ou seleções de tabelas reais.
Tipos de Visões
- Modificação de Consultas (QM): A visão é criada a cada consulta.
- Materialização de Visões (VM): A visão é criada na primeira consulta.
Visões Atualizáveis
- Visões são chamadas atualizáveis se permitem aos usuários realizarem alterações nos dados do banco de dados por meio da visão.
Triggers
- Um trigger é um tipo especial de procedimento armazenado, executado sempre que há uma tentativa de modificar os dados de uma tabela que é protegida por ele.
Execução de Triggers
- Quando há uma tentativa de inserir, atualizar ou excluir dados em uma tabela, e um trigger tiver sido definido para essa ação específica, ele será executado automaticamente, não podendo nunca ser ignorado.
Limitações
- Os triggers não podem ser chamados diretamente e não passam nem aceitam parâmetros.
- Os triggers não recebem parâmetros de entrada.
Tabelas Especiais em Triggers
- Dentro do trigger, para manipular os dados que estão sendo afetados pelo comando que o acionou, existem as tabelas INSERTED e DELETED.
Triggers AFTER
- São executados depois que a ação de INSERT, DELETE ou UPDATE que os acionou for executada.
Aninhamento de Triggers
- O aninhamento de triggers é configurado por padrão (default). Isso faz com que um trigger possa, indiretamente, acionar outro trigger e assim por diante.
Stored Procedures
- Um Stored Procedure (procedimento armazenado) é um conjunto de instruções SQL pré-compiladas e armazenadas no banco de dados.
- Stored Procedures são analisadas, otimizadas e armazenadas em uma forma executável no momento em que são adicionadas ao banco de dados.
Cursor
- Um Cursor aponta para uma query (consulta), permitindo a manipulação linha a linha dos resultados.
Variável
- Uma Variável guarda um valor escalar.
Revisão de Tipos de Views
- View Normal: Executa uma consulta sempre que é chamada.
- View Materializada: Cria uma tabela paralela, armazenando os resultados da consulta para acesso mais rápido.
Exemplos de Triggers em SQL
create trigger cadastro
on aluno for insert as
begin
print 'Hello Word';
end
create trigger T_DelAluno on aluno instead of delete as
raiserror('Operação Inválida', 16, 1);
go
create trigger exec1 on aluno for insert as
begin
declare @idAluno int
set @idAluno = (select inserted.codMatricula from inserted)
declare insertAluno cursor static for select turma.idturma from turma
declare @idTurma int
open insertAluno
fetch next from insertAluno into @idTurma
while(@@FETCH_STATUS = 0)
begin
insert into matricula (aluno_codMatricula, turma_idturma) values (@idAluno, @idTurma);
fetch next from insertAluno into @idTurma
end
close insertAluno
deallocate insertAluno
end