jueves, octubre 25, 2012

El problema de los datos duplicados

Hace algún tiempo, me envió el banco una tarjeta a una dirección errónea. Cuando fui a la sucursal, le pedí al comercial que comprobara todas las direcciones que tenían activas mías, y vimos que había varias, para diferentes usos,  y que todas eran la misma y esta bien. Entonces, ¿cómo es que enviaron la tarjeta a una dirección antigua? Resulta que, descubrimos que otro operario de la sucursal tenía una copia de los datos del host, obtenida para vete a saber que, y que se la había pasado a un Access, y era la que estaba usando para estos envíos, porque le era mucho más facil, ¡que rabia me cogí!

Lamentablemente no es un hecho aislado, sino que es un problema que puede surgir cuando menos te lo esperas, si has cambiado de dirección, teléfono,... y puede ser de diferentes tipos:

Trabajador de empresa emplea para su trabajo una copia puntual de la base de datos de trabajo. En este caso, se trata de un error puntual, de un inconsciente, pero que saca a relucir un problema organizacional: la funcionalidad de la base de datos del trabajo no se adapta suficiente a sus tareas.



Un mismo dato, como la dirección, puede estar repetido en varios puntos de la base. Ya sea por desconocimiento nuestro, por portal web poco explicativo, base mal diseñada, trabajador sin conocimiento o ganas,... al querer cambiar nuestros datos, lo hacemos solo en un sitio, pero no somos conscientes de que la empresa pudiera tener varias veces nuestros datos para diferentes usos: dirección fiscal, domicilio, dirección postal,...




Lo que parece un único organismo o empresa, en realidad son varias entidades, cada una de ellas con nuestros datos. Ilusos de nosotros, pensamos que, cambiándolo en el organismo principal, o aquel con el que tratamos principalmente, será suficiente. Pero esta visto que no nos avisan de este detalle, ¿cómo esperan que el cliente / ciudadano conozca sus jaleos internos?



Por último, y casi lo más peligroso, es cuando cambiamos algo, datos, contrato,... y se activa algún tipo de flujo de trabajo. Si por algún motivo activamos otro flujo de trabajo, ya sea para corregir el anterior, o para otra actividad aparentemente independiente, en ocasiones provoca bloqueos, o sobreescrituras de datos de un flujo de trabajo sobre otro, provocando que todo quede en un estado indefinido: parte bien-parte mal, solo la versión antigua de datos, solo la versión moderna,...




 Para evitar total o parcialmente estos problemas sugeriría:
  • PROHIBIDO exportar base de trabajo completas, o que el usuario crea completas para su tarea.
  • Dar funcionalidades "útiles" para que el trabajador emplee las bases de trabajo. Una opción que no hay que desdeñar a nivel empresarial es el permitir enlazar nuestras herramientas ofimáticas con estas bases de trabajo. ¡es increíble la potencia y versatilidad que se pueden llegar a lograr en estos casos!
  • SIEMPRE que sea posible un mismo dato sólo UNA vez en nuestras bases. Esto es algo más que una Forma Normal del modelo Entidad-Relación.  Esto implica valores por defecto, herencia de propiedades,... Porque ese mismo dato igual puede ser en algunos casos diferente pero, ¿por un 20% de casos especiales vamos a estropear al otro 80%?
  • Mejoras en la visualización de cambios en los datos. Si se cambia un dato, el que sea, INMEDIATAMENTE mostrar al usuario otros lugares con datos similares que a lo mejor requieren aplicar el mismo cambio, ya sean de esta organización o de otra.
  • Quizás implementar una ventanilla única, de tal forma que se curse una orden de cambio de datos y luego la burocracia o flujos de trabajo automatizados lo lleven a todos los involucrados.
  • Asegurar que los flujos de trabajo sean ACID, como en las bases de datos, incluyendo operaciones atómicas, copiad de datos de trabajo, versionado de los datos almacenados,...


No hay comentarios: