¿Cómo deducir un modelo entidad - relación de una base de datos antigua, a la cual debemos acceder para recoger datos y, posiblemente, migrarlos a otra base de datos? ¿Cuál es la mejor manera de hallar las conexiones entre ventas, clientes o productos y el modelo de datos conceptual? ¿Qué modelos se deben tener en cuenta en cada caso?
Lo cierto es que, si se ha de proceder a una migración de datos, es imprescindible conocer el medio y llegar a descubrir los puntos más específicos como:
- Dónde encontrar cada dato.
- Qué significa cada campo.
- Cuáles son los conceptos que encierra cada término.
El descubrimiento de datos es la fase inicial en todo proceso de migración de datos y la primera referencia que indica que una migración no es un acto automático, dista mucho de un copiar y pegar y requiere de un gran trabajo, coordinación, pruebas y un constante seguimiento que vele por mantener los estándares de calidad y la integridad del dato.
Créditos fotográficos: "Graph On Tablet Computer" by watcharakun
Los técnicos informáticos, DBAs en la mayoría de los casos, suelen apoyarse en herramientas CASE con capacidades de ingeniería inversa. Éstas hacen posible conectarse a una base de datos y, automáticamente, dibujar el modelo entidad - relación que acusa dicha base de datos, con sus tablas y relaciones.
Si bien, esta tarea tiene un talón de Aquiles: las limitaciones. ¿En cuántas ocasiones han aparecido modelos de datos sin constraints (restricciones físicas), en las que la relación entre tablas se gobierna directamente desde la aplicación que gestiona sus datos?
El desconocimiento de estas restricciones físicas supone un obstáculo importante para el buen curso de una migración de datos. Por mucho que se conozcan las reglas del negocio, deducir las relaciones existentes entre los elementos es prácticamente imposible si no se cuenta con los constraints.
En la actualidad, aunque no han sido muy difundidas, en el mercado existen herramientas con la capacidad de descubrir el modelo entidad - relación de una base de datos, incluso en los casos en que sus tablas no estén relacionadas por constraints.
Esta capacidad, que permite llevar a cabo el descubrimiento de datos, se sustenta en un motor de búsqueda que hace posible:
- Rastrear los datos contenidos de cada tabla: un paso que no puede obviarse ya que la exhaustividad es uno de los fundamentos de toda migración.
- Vincular cada dato por contenido exacto de campo: haciendo explícitas esas relaciones que no parecían visibles antes de la intervención de la herramienta.
- Descubrir relaciones ocultas (como, por ejemplo, que el código de una transacción de 100 dígitos, lleva embebido dentro de la cadena los 8 dígitos del DNI del emisor).