Ver Mensaje Individual
  #11  
Antiguo 10-09-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 24
maeyanes Va por buen camino
Hola...

Cita:
Empezado por rgstuamigo Ver Mensaje
Puede ser una buena idea pero no te parece Poliburro que podria haber mucha redundancia de datos, sin contar que por cada tabla habria que hacer eso, seria mejor crear esa tabla pero solo que tenga el valor anterior ,no el actual pues ya esta en la tabla correspondiente.y que se vaya insertando a estatabla todo el el historial....
Sobre lo que dices de que solo contenga el valor anterior, podría acarrearte problema en que no vas a saber en un determinado momento cual fue el valor nuevo de un campo, solo el anterior, ya que para todos los registros de tu bitácora, el valor nuevo siempre será el último que usaste (o el valor actual del campo en cuestión). Es por eso que se necesita guardar en todo momento el valor viejo y el valor nuevo.

Ahora, si necesitas que sea más de una tabla, podrías indicar a que tabla pertenece ese valor, además de que también tienes que identificar a que registro de esa tabla pertenece ese cambio.

Podrías hacer una estructura así:

Código:
id: integer (campo clave)
tabla: varchar(32)
id_registro: integer
campo: varchar(50)
valor_anterior: varchar(1024)
valor_nuevo: varchar(1024)
fecha: datetime
usuario: varchar(10)
y ya desde tu programa para saber el historico de X registro de Y tabla puedes tener algo como:

Código SQL [-]
select campo, valor_anterior, valor_nuevo, fecha, usuario from bitacora
where tabla = 'Tabla_X' and id_registro = 1 order by fecha


Saludos...
Responder Con Cita