next up previous contents
Next: Generación actual Up: Ámbito conceptual Previous: Ámbito conceptual   Índice General

Reseña histórica

En este apartado se hace un recorrido por la evolución que ha experimentado el tratamiento de la información, desde los comienzos del procesamiento automático de la misma, hasta los modernos sistemas de gestión de bases de datos2.1. En un principio, el tratamiento de la información se realizaba mediante programas muy simples que se almacenaban junto a los datos en dispositivos que el computador era capaz de procesar: cintas de papel y tarjetas perforadas. Los programas incluían los datos que debían procesar, o bien, los leían desde los dispositivos de almacenamiento externo, cargándolos en memoria principal. Las cintas magnéticas comenzaron a utilizarse hacia 1945 y su impacto en la gestión de la información fue decisivo. Las cintas eran ligeras y robustas, y su capacidad de almacenamiento y su velocidad, comparadas con el almacenamiento en tarjetas, eran enormes. Sin embargo, las cintas magnéticas seguían siendo dispositivos de acceso secuencial. A principios de los años sesenta se produjeron cambios importantes que afectaron al tratamiento de la información. En primer lugar, se pasó a disponer de computadores que permitían el acceso en línea frente al clásico acceso diferido (batch). En segundo lugar, la aparición de los discos magnéticos como dispositivos de almacenamiento externo favoreció el desarrollo de estructuras de ficheros más complejas que permitían el acceso directo a los registros. La situación en esta primera etapa, formada por las décadas de los cincuenta y sesenta, se caracterizó por disponer de una gestión de la información apoyada básicamente en aplicaciones muy sencillas, diseñadas de forma aislada y con independencia de otras aplicaciones. Estas aplicaciones disponían de sus propios ficheros (o copias temporales) que contenían sólo aquella parte de la información que les era necesaria. Los ficheros eran totalmente dependientes de la aplicación a la que servían y de la máquina que los soportaba, situación que provocaba la aparición de redundancias de datos e inconsistencias, además de los problemas de mantenimiento de los programas que llevaba asociados. La situación empezó a cambiar cuando en el intento de construir aplicaciones más complejas, surgió el concepto de fichero integrado: un fichero que pudiera ser compartido por distintas aplicaciones. A partir de ese momento, se inició una sucesión de cambios en el campo de las bases de datos, guiados por el objetivo común de conseguir un almacenamiento integrado de la información común no sólo de una aplicación, sino de toda una empresa u organización. A mediados de los años sesenta apareció el concepto de sistema de gestión de información (SGI). En su origen, el trabajo con estos sistemas consistía, básicamente, en la ejecución de los programas del paquete SGI sobre los ficheros de salida de cada una de las aplicaciones. Pero pronto se puso de manifiesto que, para una gran empresa, el número de ficheros de entrada para el SGI era excesivamente grande, con los problemas de ordenación que ello implicaba. Otros problemas que planteaba este modo de trabajo eran la interrupción del proceso global si alguna aplicación fallaba y las inconsistencias provocadas por la duplicidad de datos en los ficheros. Por tanto, los sistemas SGI basados en los ficheros integrados no eran tan efectivos como se deseaba, lo que provocó de nuevo la necesidad de una mayor integración de los datos. El objetivo que se perseguía era disponer de un conjunto integrado de datos (la base de datos) que fuese capaz de dar servicio a cada una de las aplicaciones de la empresa. Esta base de datos debía ser creada independientemente de las aplicaciones y de forma que éstas fuesen independientes de los datos, es decir, cualquier cambio en la representación de los datos no debía requerir cambios en las aplicaciones. Siguiendo esta idea, en el mercado de finales de los sesenta y primeros de los setenta aparecieron sistemas basados en distintos modelos de datos. Hacia 1969, con precedentes desde 1965, aparece un sistema de gestión de bases de datos histórico, el IMS/1 de IBM, con una estructuración jerárquica de los datos. Aunque fue diseñado para el proyecto espacial Apolo, acabó siendo de propósito general. Desde entonces, distintas mejoras marcaron su evolución. El sistema IMS/1 fue el sistema más representativo de la primera familia de sistemas de gestión de bases de datos: los sistemas jerárquicos. En 1967, el grupo CODASYL se interesó por las bases de datos y creó el grupo de trabajo Data Base Task Group (DBTG), liderado por Bachman. Las primeras recomendaciones públicas del grupo DBTG se realizaron en 1969 [21] [22] y contenían la sintaxis y la semántica de un lenguaje de definición de datos para describir bases de datos estructuradas en red, así como el lenguaje de manipulación de datos. Siguiendo estas recomendaciones, distintas casas comerciales comenzaron a construir sistemas de gestión de bases de datos que constituyeron una segunda familia, los sistemas de red de CODASYL. Una diferencia esencial separa los sistemas jerárquicos y los sistemas de red, y es que los sistemas de red nacieron a partir de un modelo previamente definido (con pretensiones de generalización y estandarización) que posteriormente se implementó en varios sistemas; sin embargo, los sistemas jerárquicos surgieron de una implementación de la que posteriormente se obtuvo la abstracción del modelo. Cuando en 1972, el organismo de normalización estadounidense ANSI decidió abordar el tema de las bases de datos, no tomó en consideración las especificaciones CODASYL/DBTG como punto de partida. Su subcomisión X3, que cuenta con una comisión de planificación y requisitos de normalización denominada SPARC, elaboró y publicó en 1975 [4] la arquitectura ANSI/SPARC de tres niveles para sistemas de gestión de bases de datos. Estos tres niveles son el nivel externo, el nivel conceptual y el nivel interno, correspondiendo a cada nivel una descripción o esquema de toda la base de datos o de parte de ella. En 1978, siguiendo las directrices de ANSI, las recomendaciones de CODASYL evolucionaron hacia una arquitectura de tres niveles: esquema, subesquemas y esquema de almacenamiento. Algunos de los sistemas que siguen las propuestas de CODASYL son el sistema IDS/2 de Honeywell, el sistema DMS-1100 de Univac o el sistema IDMS de BF Goodrich. Otro suceso importante en la época fue la aparición de los índices dinámicos con estructura en árbol B [10]. Estos índices permitieron la implementación de ficheros secuenciales indexados por varias claves. La aparición de los árboles B representó el final de una carrera que, a finales de los años sesenta, se había desarrollado con el objetivo de descubrir un método general para el almacenamiento y la extracción de datos en grandes sistemas de ficheros, que proporcionara un acceso rápido a los datos con un coste mínimo. Hoy en día, se puede afirmar que los árboles B y sus variantes son la organización estándar para construir índices en los sistemas de gestión de bases de datos. Como resultado de todos los avances producidos durante la segunda mitad de los años sesenta y a principios de los setenta, se extendió el uso de los sistemas de gestión de bases de datos y se usaron sistemas de ficheros cada vez más sofisticados. En esta etapa, el tratamiento de la información experimentó un cambio cualitativo, representado, principalmente, por la introducción en el área de los dos principios básicos de la nueva filosofía de las bases de datos: la integración de la información y la independencia de datos (entre programas y ficheros físicos). Entre los años 1969 y 1970, Codd definió un nuevo modelo de datos, el modelo relacional [24], que dio lugar a la tercera familia de sistemas de gestión de bases de datos: los sistemas relacionales. Es el primer modelo propiamente dicho, sencillo, elegante y bien fundamentado. El modelo propone una representación uniforme y única de la información en forma de relaciones, un conjunto de operadores para manipular las relaciones, y unas reglas de integridad. Codd propuso un lenguaje de tipo algebraico (álgebra relacional) y uno de tipo lógico (cálculo relacional [25]). Además, la teoría del modelo relacional dio lugar a la teoría de las formas normales [26], que proporciona un método más riguroso de diseño de bases de datos, con el que se pueden evitar determinadas anomalías. Si Bachman es considerado el padre de las bases de datos, se puede afirmar que Codd es el padre de la investigación en este área. Ambos investigadores recibieron el premio Turing en los años 1973 [8] y 1981 [28], respectivamente. La aparición del modelo relacional abrió una larga polémica en los años setenta entre los defensores de los modelos prerrelacionales (jerárquico y de red) y los defensores del nuevo modelo. Esta polémica quedó reflejada en todas las reuniones de la asociación ACM SIGFIDET (actualmente ACM SIGMOD), teniendo su punto culminante en un gran debate que tuvo lugar en la conferencia de ACM SIGMOD del año 1975 [78]. En esencia, las posturas de los dos campos eran las que se describen a continuación. Los defensores de CODASYL argumentaban que el modelo relacional era demasiado matemático, pensaban que ningún programador iba a ser capaz de entender sus lenguajes. Incluso si se consiguiera que los programadores aprendieran sus lenguajes, sería preciso conseguir una eficiente implementación de ellos. Y un último argumento era que las transacciones en línea exigían un procesamiento orientado a registros, y no a conjuntos como se hacía en el modelo relacional. Por su parte, los defensores de las ideas de Codd argumentaban que nada era tan complicado como la propuesta de CODASYL. Cualquier consulta orientada a conjuntos era demasiado difícil de programar utilizando el lenguaje de manipulación del DBTG. Además, el modelo CODASYL no tenía una semántica bien definida. En la segunda mitad de los años setenta, el interés por el modelo CODASYL empezó a decaer debido, principalmente, a dos hechos: la aparición de lenguajes como QUEL y SQL, que superaban el carácter excesivamente matemático de los lenguajes originalmente propuestos por Codd, y la aparición de algunos prototipos que demostraban que se podía realizar una implementación eficiente del modelo relacional. Entre estos prototipos destacan INGRES, de la Universidad de Berkeley, y System R de IBM. Más tarde, aparecieron sistemas relacionales comerciales tales como Oracle y DB2. Los primeros problemas de implementación asociados al modelo relacional ya se han solucionado y parece también cerrada la larga polémica sobre la valoración del modelo relacional con respecto a los modelos prerrelacionales. De hecho, el interés comercial en el enfoque relacional ha sido tan intenso en los últimos años, que los sistemas relacionales se han convertido en un estándar en el mercado, pudiéndose afirmar que la década de los ochenta ha representado la extensión generalizada del uso de los sistemas de bases de datos basados en el modelo relacional. Un último comentario sobre el modelo relacional hace referencia al hecho de que ninguna organización internacional ha intentado promover una definición estándar del mismo, pareciendo que es Codd el único depositario de esta atribución. Su propuesta original del modelo relacional [24] ha ido evolucionando pudiéndose seguir esta evolución en sus trabajos posteriores ([27] - [33]).
next up previous contents
Next: Generación actual Up: Ámbito conceptual Previous: Ámbito conceptual   Índice General
Marques Andres Maria Mercedes
2000-07-05