Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Registro de historial de inserts, updates, deletes...

Estas en el tema de Registro de historial de inserts, updates, deletes... en el foro de Bases de Datos General en Foros del Web. Buenos días. Esta es una pregunta, más de diseño que de comandos. Estoy haciendo un modelado, en el cuál, me gustaría incrementar los niveles de ...
  #1 (permalink)  
Antiguo 26/11/2006, 08:04
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
Registro de historial de inserts, updates, deletes...

Buenos días.

Esta es una pregunta, más de diseño que de comandos.

Estoy haciendo un modelado, en el cuál, me gustaría incrementar los niveles de seguridad de los datos, entre una de las formas que estoy pensando, se encuentra llevar un registro de las acciones ejecutadas por cada uno de los usuarios del sistema sobre la BD.

Esto es, a cada inserción, actualización o eliminación de un registro, deseo llevar un historial de ellos. He visto varias opciones:
1.- Sobre cada tabla, agragando fecha de ocurrencia, acción ejecutada (insert, update o delete), campo bandera para activar el registro (sí es el registro actual, activo, sino inactivo)
2.- Otra tabla, que registre el usuario que ejecuta la acción, la fecha de ocurrencia, la acción ejecutada, el nombre de la tabla, la identificación del registro, y el valor.

En ambos casos se sacrifican registros vaciós o repetidos, o quizás innecesarios... es por eso que escribo, esperando opiniones.

Un ejemplo de lo que busco, lo tienen los Wikis (por ejemplo, MediaWiki), que pueden ir y venir a los registros anteriores y más nuevos.

Gracias de antemano.
__________________
Gracias de todas todas
-----
Linux!
  #2 (permalink)  
Antiguo 26/11/2006, 12:43
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Una manera práctica de hacerlo es mediante triggers, haces un trigger que registre la información pertinente en cada Insert, Update o Delete.

Otra manera es hacerlo mediante tu aplicación (que es la unica manera si usas RDBMS como MySQL, a menos que ya soporte triggers), pero es un poco más endeble y difícil de mantener.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 26/11/2006, 13:12
 
Fecha de Ingreso: agosto-2005
Ubicación: Mérida, Venezuela
Mensajes: 732
Antigüedad: 18 años, 8 meses
Puntos: 7
recomendarías, sobre la misma tabla en la que se ejecuta la operación?
__________________
Gracias de todas todas
-----
Linux!
  #4 (permalink)  
Antiguo 26/11/2006, 16:01
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Si te refieres a un trigger, sí. Es lo más sencillo de mantener.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:12.