Voy a poner un ejemplo para explicarme, supongamos que tengo una base de datos con informacion sobre las ventas de una empresa, en la tabla "ventas" tengo una clave foranea apuntando a la tabla "clientes", uno de los clientes es borrado de la base de datos (por incobrable :p), si intentara mostrar un informe sobre las ventas en el pasado (a modo de estadisticas, por ejemplo) no tendria la informacion sobre este cliente al cual SI le vendi en su momento pero que ahora ya no es mas cliente. Como hago para mantener un registro de toda la informacion por mas que se elimine??? Se me ocurrio "marcar" como eliminado el registro para poder tener la referencia en un futuro, tambien se marcaria como eliminado cuando es editado y se crea otro con la nueva informacion (si este cambio es importante) pero no se si es la manera correcta o si existe una mas eficiente.
Espero que me entiendan
Un saludo