Coincido con Martín. La información no se debería borrar, solo determinar su estado. No se puede plantear excusas de almacenamiento, ni aún en Fox (Euro Tunnel gestionaba con dbfs 100 Gigabytes).
A tener en cuenta, en Argentina, la documentación tienes que mantenerla 5 años por requerimientos de AFIP (Agencia Federal de Ingresos Públicos), ergo, tienes que mantener tus registros informáticos al menos 5 años. Pero desde el punto de vista gerencial, no estaría mal mantenerlos al menos 10 años.
Los datos o maestros o de transacciones, tienen que quedar guardados. Sobre todo si la información quedó documentada por fuera del sistema informático (por ejemplo un impreso).
Contablemente, un asiento erróneo no se borra, se hace contra-asiento, o sea, operación que lo anula o neutraliza, pero no se borra.
Toda la información en la computadora es procesada, si estas cargando una transacción, los registros deberán tener una marca de "en carga", "pendiente", etc. pero no tener la posibilidad de borrarse (y no solo con dbfs, con otros SGBD igual).
El hecho de poder borrar físicamente datos, te produce agujeros de auditoria.
Supongamos. Alguien retira mercadería de un deposito, quedando el retiro registrado (a modo, la encuentra antes de que se pierda), hace algo con ella (fuera misión/visión de la empresa) y a los 20 días la reintegra, y borra el movimiento, hubo algo anormal ahí que se perdió y que auditoria debería haber podido registrar.
Esto parece raro pero les comento algo verídico, paso en un banco aquí en La Pampa.
En épocas de inflación los bancos manejaban depósitos a plazo fijo tan cortos como 7 días. Había un cliente "grande" del banco que por su giro comercial, mantenía sumas elevadas en cuenta corriente. Dado que pagaba con cheques en fechas relativamente ciertas y cobraba sumas significativas periódicamente.
Empleados bancarios, observando los movimientos, hicieron la triquiñuela de retirar fondos de la cuenta corriente del cliente, usando el dinero para crearse "sus plazos fijos", al término de los mismos, embolsaban los intereses y restituían el importe a la cuenta del cliente. En la conciliación bancaria, al cliente le daba el saldo, y no se percataba de la "salida" y "entrada" de fondos.
El control bancario tampoco detectaba nada anormal, porque los valores cerraban, no había reclamos, todo se veía bien.
La estafa se detecta porque el cliente fuera del flujo normal de dinero, libra un cheque "pesado" contra su cuenta corriente, fuera de las fechas habituales, el cheque, es rebotado por "sin fondos" (los fondos se los habían "tomado prestados").
Lógico, el cliente reclama que según sus registros, el cheque al momento del pago tenía fondos, y el banco registraba que no.
Al hacerse los controles de movimientos, le indican al cliente que ha retirado dinero para plazos fijos, lo que el cliente niega y en la investigación posterior, salta el defalco de los empleados bancarios.
La modalidad se puede detectar porque "no hay registros borrados" y que no es una situación casual, si no algo que se repite. Y nos error de sistema, es operación dolosa.
Concluyendo. Solo es admisible borrar físicamente registros, cuando ante una caída de sistema, te quedan transacciones incompletas, y registros con datos destruidos, situación que en dbfs es problemático rehacer si recurrir a deletes y packs.