La migración a modelos relacionales: una necesidad para sobrevivir
"Información" es la más valiosa posesión de que dispone cualquier organización y su buena gestión puede considerarse como un arma estratégica para disminuir costes y aumentar beneficios.
Además, los sistemas de información y sobre todo los responsables de informática de todas las empresas tienen la necesidad de adaptarse a las nuevas tecnologías. Términos como data warehouse, aplicaciones cliente/servidor, OLAP, ODBC, herramientas GUI, servidores Internet, objetos... han estado emergiendo estos últimos años con tanta fuerza que resulta imposible para cualquier responsable de informática justificar la inexistencia de dichas tecnologías en la propia empresa.
En cualquier caso, y de manera subyacente, una de las partes más importantes de los sistemas de información sigue siendo el gestor de base de datos encargado de almacenar la información. Y no cabe duda que la mayoría de conceptos atractivos para los usuarios empezaron a plasmarse en la realidad a partir de la estandarización del lenguaje de acceso a la información gracias al uso de tecnología relacional como almacén de datos en la mayoría de las empresas. Repasemos brevemente la evolución de los sistemas de información.
Los gestores de base de datos (SGBD) han sido y seguirán siendo uno de los segmentos que más han proliferado dentro de la industria del software.
Un SGBD para ser considerado un producto eficaz debe ser capaz de realizar una serie de funciones sobre la información:
- Estructurar la información de forma consistente
- Facilitar el acceso a los datos
- Minimizar la duplicidad
- Permitir la reorganización
- Proporcionar seguridad y control
- Soportar interfaces de programación
Los SGBDs suelen clasificarse en función del modelo teórico de datos en el que se basan: jerárquicos, en red y relacionales.
Modelo Jerárquico
Los SGBDs basados en este modelo comienzan a aparecer a finales de la década de los 60. La aproximación jerárquica a la estructura de datos organiza la información en una forma arborescente con relaciones "padre-hijo". Los elementos de datos son conocidos como "segmentos" y cada uno de ellos está compuesto por uno o más campos. Los segmentos deben estar relacionados de tal forma que reflejen el entorno real de la información.
Un programa de aplicación accede a la información contenida en la base de datos mediante una vista lógica que identifica los niveles o relaciones a los que el programa tiene acceso. Esta estructura facilita el acceso a la información por parte de diferentes usuarios y diferentes aplicaciones.
Los mayores problemas que presenta este modelo se basan en la necesidad de un profundo conocimiento de las características de los datos, en el momento de su definición y de su localización física para poder conseguir un rápido acceso.
Modelo en Red
Los SGBD que siguen este modelo aparecen en los primeros años 70 al comprobarse que el modelo jerárquico no incluía todas las características inherentes a la información. Por ejemplo, el modelo jerárquico está diseñado para gestionar relaciones uno-a-uno, pero no soporta relaciones del tipo muchos-a-muchos en las que un "hijo" puede tener varios "padres" o ser "huérfano".
Los estándares CODASYL para los modelos en red cubren conceptos como "registro", "tipo de registro" y "set", y proporcionan lenguajes de definición y acceso a datos.
Modelo Relacional
Los gestores relacionales aparecen a mediados de los 80 caracterizándose por organizar los datos en tablas bidimensionales conformadas por filas y columnas. Cada fila (tupla) representa un registro que consta de campos que representan elementos de datos. Cada registro puede ser accedido mediante una clave primaria.
La estructura relacional permite la modificación de los atributos o características de los datos, intercalar registros de diferentes tablas en una nueva tabla o reestructurar los datos descomponiéndolos en tablas más pequeñas.
Los gestores relacionales no manejan las relaciones de una forma tan natural o intuitiva como los gestores de otros modelos. Las relaciones "padre-hijo" se representan mediante integridad referencial, técnica por la que se debe definir una tabla primaria en la que todos los campos mantienen una relación uno-a-uno y una tabla secundaria para cada campo multivalor.
Los gestores relacionales constituyen, en la actualidad, el segmento de mayor crecimiento y competitividad del mercado y la adherencia, o falta de ella, al modelo relacional puede tener un impacto significativo en el éxito del producto.
Es por dicho motivo que todas las empresas han tenido, están teniendo o tendrán que asumir el reto de migrar sus sistemas de información a sistemas relacionales para no quedar descolgados de la competencia.
Esta migración, por coherencia con las inversiones realizadas por los departamentos de informática, tanto en recursos humanos como en aplicaciones, debería seguir una filosofía encaminada a:
- Maximizar las capacidades relacionales de toda la información
- Minimizar costes de conversión
- Provocar el mínimo impacto en los planes de desarrollo vigentes
- Convertir por fases
- Evitar cambios funcionales durante la conversión
Pero independientemente de los aspectos teóricos, están las implementaciones reales a las que tanto aplicaciones como datos han de verse sometidas para llevar a cabo dicha migración. Estas posibles implementaciones pasan sin lugar a dudas por alguna o bien la combinación de las siguientes aproximaciones:
- Reescritura de las aplicaciones en el nuevo entorno relacional
- Utilización de múltiples sistemas de gestión de bases de datos
Reescribir las aplicaciones no sólo resulta prohibitivo en cuanto a coste, sino que también produce una pérdida de funcionalidad a causa de la incapacidad de la tecnología relacional basada en SQL de proporcionar las muy variadas funciones de bases de datos que necesitan la mayoría de empresas y que en cierto modo tienen resueltos con los sistemas anteriores.
El enfoque de "bases de datos duales" es caro y de difícil gestión y aumenta el riesgo de incoherencia a causa de la ya demostrada dificultad de mantener duplicaciones de datos.
Ambos enfoques, la migración total a lo relacional y las bases de datos duales, plantean una cuestión importante sobre el futuro inmediato: cuando las nuevas técnicas de acceso a datos, como la semántica u orientación a objetos, lleguen a ser imprescindibles para fundamentar las bases de nuevas tecnologías ya emergentes ¿será necesario soportar bases de datos complementarias? ¿tendrán que volver a reescribirse las aplicaciones?. Se trata de una preocupación realista y por ello la evolución de los viejos sistemas de información es ya una necesidad, pero lo que no queda evidente ante la mayoría de expertos son las pautas y caminos a seguir para no quedarse descolgado de las nuevas tecnologías.
Computer Associates ofrece a los clientes una alternativa mejor: la posibilidad de proporcionar múltiples técnicas de acceso de datos en un sólo sistema gestor de base de datos. Esta estrategia de una "única base de datos" proporciona una valiosa protección de las inversiones. Los clientes tienen la flexibilidad de ejecutar los datos y aplicaciones existentes que utilizan las técnicas de acceso navegacional, añadir prestaciones relacionales a las aplicaciones existentes, o construir nuevas aplicaciones mediante la utilización de técnicas navegacionales, relacionales, o una combinación de ambos métodos de acceso. Esta flexibilidad se consigue mediante la adición de tecnología SQL a los sistemas de gestión de bases de datos de CA, además de la utilización de software de transparencia. El software de transparencia protege las inversiones de los clientes