RES: [firebase-br] Usuário do sistema x Usuários do Banco

Fabrício Fadel Kammer ffkammer em conchalnet.com.br
Seg Fev 6 16:55:37 -03 2006


Boa tarde Edvaldo,

A idéia para auditoria é boa também, mas seria melhor se feita via
trigger, assim se o usuário tentasse alterar os dados por fora de seu
sistema ficaria logada essa informação tbm.

[]s

Fabrício F. Kammer

-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
Em nome de Edvaldo (BOL)
Enviada em: segunda-feira, 6 de fevereiro de 2006 14:30
Para: FireBase
Assunto: Re: [firebase-br] Usuário do sistema x Usuários do Banco


A respeito deste assunto, eu tenho uma rotina que controla tudo e em uma
só 
tabela.

Tenho uma tabela AUDITORIATABELA com os campos:

 TABELA VARCHAR(30), REGISTRO INTEGER , DATAHORA DATE, USUARIO
VARCHAR(20), 
SERVICO CHAR(1), DADOS BLOB OU SUB_TYPE SIZE 80, HOSTNAME VARCHAR(30)

A rotina funciona da seguinte forma:

Inclusão:

Tabela : CLIENTE
Registro: Código da chave primária ou alguma identificação única do seu 
registro.
Data Hora: Data e hora da inclusão do registro.
Usuário: Usuário que está incluindo o registro.
Serviço: I - Inclusão
Dados: Não é necessário colocar nada, pois se eu estou incluindo para
que 
ter valores na tabela de clientes e na tabela de LOG.

Alteração:

Tabela: CLIENTE
Registro: Código do registro que esta sendo alterado
Data Hora: Data hora da alteracao do registro
Usuário: Usuário que está alterando
Serviço: A - Alteração
Dados: Faço um for nos campos do meu formulário verificando o valor do 
registro anterior e do atual e gravo nesta tabela somente os campos que 
foram alterados.
Exemplo: Se antes o valor do campo NOME = JOAO e foi alterado para NOME
= 
PEDRO. Armazeno no campo DADOS = NOME = JOAO. Na minha tela atual estará

PEDRO e o que tinha anteriormente JOAO.


Exclusão:
Tabela: CLIENTE
Registro: Código do registro que esta sendo excluído
Data Hora: Data hora da exclusão do registro
Usuário: Usuário que está excluindo.
Serviço: E - Exclusão
Dados: Agora sim eu coloco todas as informações referente a exclusão

NOME= HÉLIO DA SILVA
CPF=011.234.323-43
RG=5.332.465-1
e demais campos da tabela de cliente.


Atualmente utilizo CachedUpdate, isto me possibilita saber o valor do
campo 
anterior e atual antes de salvar o mesmo. Mas creio que há muitas outras

maneira de se compara o que está alterando para armazenar somente o que
está 
sendo alterado, isto dispensa e muito a utilização de espaço em disco.

EDVALDO. 


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br Para
editar sua configuração na lista, use o endereço
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista