Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Como lidar com registos apagados
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00797078
Message ID:
00797144
Vues:
20
Pedro,

Na minha opinião, vc está fazendo certo.
Para implementar este recurso, vc deve tem 3 opções... Vamos lá!

1) Usar o DELETE e eliminar o PACK mantendo todos deletados na própria tabela.
A desvantagem aqui é a queda de performance que irá acontecer conforme a quantidade de registros deletados cresce.
A vantagem é que não é necessário esforço de programação.

2) Copiar o registro para uma tabela secundária.
A desvantagem aqui é que será necessário uma tabela secundária para cada tabela principal.
A vantagem é que com pouco esforço de programação vc tem seu recurso implementado.

3) Criar uma tabela de LOG onde esses dados ficam armazenados.
A desvantagem aqui é o trabalho de programação, mais complicado que as outras alternativas.
A vantagem é que você tem apenas uma tabela onde vc conseguirá armazenar todas as alterações em sua base de dados (usando os triggers do DBC), podendo remontar sua base a qualquer momento. Por exemplo:
LOGBDD.DBF
DataHora T (8)
Usuário C (10)
Tabela C (10)
PrimKey C (10)
Campo C (10)
Valor C (255)
ValorM M (4)
Nesta tabela (LOGBDD) você pode gravar qualquer alteração da sua base de dados, incluindo quem fez e quando fez. Além disso, atenção especial para o campo Tabela e PrimKey que irá armazenar em qual tabela a exclusão (ou mesmo alteração e inclusão) foi executada e em qual registro (PrimKey)...

Enfim... a idéia está lançada... Eu tenho uma rotina de LOG em meu sistema, mas não permito "reverter" a operação. Acredito que esse ponto é o mais complicado...

Ah, existe o FoxAudit (ferramenta paga) que faz algo parecido com isso... Dá uma olhada que vale a pena! ;-)

[]s!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Rodolfo Duarte
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform