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

¿Como llevar un historial de edición?

Estas en el tema de ¿Como llevar un historial de edición? en el foro de Bases de Datos General en Foros del Web. Ante todo tengan todos muy buen día. Paso por acá porque no se de que manera llevar en una base de datos mysql un historial ...
  #1 (permalink)  
Antiguo 20/01/2015, 13:16
Avatar de elafrikano  
Fecha de Ingreso: noviembre-2013
Ubicación: Carúpano, Estado Sucre.
Mensajes: 9
Antigüedad: 11 años
Puntos: 2
¿Como llevar un historial de edición?

Ante todo tengan todos muy buen día.

Paso por acá porque no se de que manera llevar en una base de datos mysql un historial de edición sobre una tabla en especifico.

En si lo que quiero hacer es que al mostrar un registro se le informe al usuario que valores fueron modificados, sin importar el valor anterior solo si fue o no modificado 'x' valor.

Así por tener poca experiencia en el tema se me ocurre crear una tabla donde se guarde que fue modificado de cada campo de esa tabla, pero no me termina de convencer.

Sin mas nada que decir me despido esperando puedan ayudarme a solventar el problema. Saludos!
  #2 (permalink)  
Antiguo 21/01/2015, 04:00
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 10 meses
Puntos: 13
Respuesta: ¿Como llevar un historial de edición?

Se me ocurre que puede crear un campo numerico en la tabla e incrementar el valor del mismo cada vez que actualices un registro.
Asi puedes informar de la cantidad de veces que se modifico.
O boleano si es para SI/NO
  #3 (permalink)  
Antiguo 21/01/2015, 06:37
Avatar de elafrikano  
Fecha de Ingreso: noviembre-2013
Ubicación: Carúpano, Estado Sucre.
Mensajes: 9
Antigüedad: 11 años
Puntos: 2
Respuesta: ¿Como llevar un historial de edición?

Si eso pensé en caso de que solo se quiera saber si fue la fila que fue modificada, pero en caso de que se quiera saber que campo de la fila fue modificado y que no, no se si la mejor forma es crear el doble de campos en la misma tabla para trabajarlo como dijiste con valores boleanos y saber que se modifico y que no. O crear una tabla adicional como son tantos campos y vincular con el id de la fila a la que se hace referencia. Gracias por su respuesta amigo.
  #4 (permalink)  
Antiguo 21/01/2015, 12:12
 
Fecha de Ingreso: enero-2008
Ubicación: Málaga - España
Mensajes: 346
Antigüedad: 16 años, 10 meses
Puntos: 13
Respuesta: ¿Como llevar un historial de edición?

No es necesario....puedes hacer una estructura, del tipo

CAMPOS_MODIFICADOS
ID -- CAMPO

cada vez que actualices un registro en la tabla, insertas en esta otra la id del registro y el campo.

EJ.
1 -- precio
1 -- descripcion
1 -- cliente
2 -- precio
3 -- cliente

y así... luego al seleccionar el registro, puedes consultar en esta tabla los campos modificados de cada registro.
  #5 (permalink)  
Antiguo 21/01/2015, 12:19
pamda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ¿Como llevar un historial de edición?

Cita:
Iniciado por alpe2000 Ver Mensaje
No es necesario....puedes hacer una estructura, del tipo

CAMPOS_MODIFICADOS
ID -- CAMPO

cada vez que actualices un registro en la tabla, insertas en esta otra la id del registro y el campo.

EJ.
1 -- precio
1 -- descripcion
1 -- cliente
2 -- precio
3 -- cliente

y así... luego al seleccionar el registro, puedes consultar en esta tabla los campos modificados de cada registro.
esta es una de las formas que se pueden realizar a parte de incluir otros datos de interes propio para el sistema.
Podrias tomar como ejemplo la forma en que registra wordpress las modificaciones hechas a un post.

saludos
  #6 (permalink)  
Antiguo 21/01/2015, 12:46
Avatar de elafrikano  
Fecha de Ingreso: noviembre-2013
Ubicación: Carúpano, Estado Sucre.
Mensajes: 9
Antigüedad: 11 años
Puntos: 2
Respuesta: ¿Como llevar un historial de edición?

Gracias alpe2000, no lo habia visto de esa forma asi lo voy a implementar.

pamda seguro que buscare como lo hace wordpress, gracias por tu consejo.
  #7 (permalink)  
Antiguo 22/01/2015, 08:37
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: ¿Como llevar un historial de edición?

se puede hacer una auditoria completa a la base de datos guardando algo como esto:


nombre_tabla, nombre_columna, valor_antiguo, fecha_modificacion

como puedes hacer esto con un trigger, que te validaria cada cambio que realices a la informacion :), ahora que manejador de bases de datos estas usando???
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me

Etiquetas: historial, mysql, tabla
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 03:09.