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

Entradas relacionadas: