Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/08/2014, 11:04
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Registro de modificacion de una tabla

Tu duda es un tema recurrente en el foro de BBDD, de cuando en cuando viene alguien para preguntar exactamente por el mismo problema, y hasta ahora la respuesta viene a ser: Si, es posible hacerlo. Pero no es muy práctico.
Es posible hacerlo, y muchos DBMS, incluyendo MySQL, tienen recursos específicos desarrollados para realizar esa trazabilidad de procesos. En el caso de MySQL normalmente se activa el log binario y con esto se puede ver qué se hizo y en que momento.
Si no quieres usar el log binario, o no puedes por temas de permisos, te queda la opcion de implementar uno propio (lo que preguntas), pero no es muy práctico, por cuanto necesitarás registrar todas y cada una de las sentencias, con todos sus datos, en esa tabla, y meter todo eso en el mismo ciclo de inserciones/actualziaciones/borrados de tu aplicación. Eso sin duda que recargará el sistema.
Y antes que lo preguntes, NO, un trigger es una mala idea.
Necesitarías hacer un trigger por cada tabla donde haya acciones sobre los datos, y encima considerar que pueda haber otros trigger que hagan sus propias operaciones para ciertas cosas.
No es viable.

Lo del log binario es más práctico.

Existe una alternativa que usa recursos de cola de mensajes en el servidor, y que podría utilizarse. Dependerá del servidor y el lenguaje a programr, pero lo he visto como bastanbte eficeinte.
En este caso lo que se hace es que la aplicación mande al sistema un mensaje que luego se recopilan y almacenan en una base específica.

Mira este link: http://logging.apache.org/log4net/
http://www.codeproject.com/Articles/...g-net-Tutorial
http://rmottap.blogspot.com.ar/2012/...l-log4net.html
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)