Dentro del problema del histórico, surge el tema de la corrección de errores.
¿Qué pasa cuando se detecta que un cambio realizado estaba mal hecho?
En la base de datos a veces esto se da y se suele "deshacer" el cambio de manera que no quede rastro de él (como si nunca se hubiese producido), lo cual no es del todo correcto ya que aunque si que la base de datos refleja la historia de la realidad (se elimina aquello que en la realidad no fue cierto), se pierde la información que soporta el hecho de que en la base de datos la información sí que tuvo el error (que puede haber dejado rastros imborrables como cédulas emitidas, salvados anuales, estadísticas, etc.).
Esto está directamente relacionado además con los tiempos transaccionales (cuando las cosas se registran en el sistema-fecha grabación-) y los tiempos reales (cuando las cosas pasan en el mundo real-fecha escritura-).
La idea es poder dejar registro de las dos cosas:
Opción 1:
Crear un histórico a medida que esté siempre libre de errores (los arreglos se harían tanto en la vista actual como en la histórica).
Tener además un log automático de todo lo que va sucediendo en la BD.
Opción 2:
Mantener un único log histórico, en el que los registros que respondan a modificaciones erróneas estén marcados de alguna manera (pudiendo tenerlos o no en cuenta en la explotación del histórico).
Precisión: Realidad vs Realidad Registrada
Un sistema no tiene porqué recoger todos los estados de la realidad, y puede que le basten con determinados estados intermedios (en un documento de aceptación de herencia y compraventa, podría ser suficiente con recoger la transmisión general, sin tener en cuenta la transmisión intermedia).
No comments:
Post a Comment