Log Em BD
Dados
Marcos Thomaz da Silva
Perfil do Instrutor
•
•
•
•
•
•
•
Graduação em Sistemas de Informação
Especialização em Bancos de Dados
Analista de Tecnologia da Informação da Universidade Federal do Acre
Desenvolvedor Clipper, Delphi, PHP e Python
Participante e Moderador da Lista Django Brasil;
Entusiasta PostgreSQL
Sócio da Empresa Hydros Consultoria
O que são logs?
• “...é uma expressão utilizada para descrever o processo de registro de eventos relevantes num sistema computacional. ”
1.
2.
3.
4.
5.
6.
7.
Cadastro de um Cliente;
Alteração do Preço de um Produto;
Inserção de uma disciplina a um Curso;
Modificação da Nota de um Aluno;
Lançamento de uma Venda;
Pagamento de uma Conta;
Exclusão de um Produto;
Inicia Lançamento da
Venda
Efetua a Baixa do Estoque dos Produtos
Finaliza Lançamento da
Venda
Recupera Informações
(Consulta Estoque)
SELECT
Altera Estoque dos
Produtos
UPDATE
Insere a venda
INSERT
Inserção
Alteração
Exclusão
Insert
Update
Delete
• “Esse registro pode ser utilizado para restabelecer o estado original de um sistema ou para que um administrador conheça o seu comportamento no passado.”
Estrutura das triggers
Outros Bancos de Dados
PostgreSQL
Tabela
Tabela
Trigger
Trigger
Function
Como gerar o log?
Passo 1. Criar uma tabela para armazenar as informações
Passo 2. Criar as trigger’s que armazenem a informação
Passo 3. Atribuir as trigger functions aos eventos
Testando as ações
Verificando a tabela de Log
Bom né?.. Será?
• Foram criadas 3 functions (uma para cada evento);
• Foram criadas 3 triggers (uma cada cada evento);
• No total, para uma única tabela criamos 6 objetos!
O que fazer???
Variáveis Especiais
VARIÁVEL
DESCRIÇÃO
NEW
Tipo RECORD que contém o Novo valor dos campos de uma tabela (Insert /
Update)
OLD
Tipo RECORD que contém os valores antigos de Campos (Update/Delete)
TG_OP
String indicando a operação (INSERT,
UPDATE, DELETE, TRUNCATE)