Concepto y origen de las BD y de los SGBD
Las aplicaciones informáticas de los años sesenta acostumbraban a darse totalmente por lotes (batch) y estaban pensadas para una tarea muy específica relacionadacon muy pocas entidades tipo. Cada aplicación (una o varias cadenas de programas) utilizaba ficheros de movimientospara actualizar (creando una copia nueva) y/o para consultar uno odos ficheros maestros o, excepcionalmente, más de dos. Cada programa tratabacomo máximo un fichero maestro, que solía estar sobre cinta magnética y,en consecuencia, se trabajaba con acceso secuencial. Cada vez que se le queríaañadir una aplicación que requería el uso de algunos de los datos que ya existíany de otros nuevos, se diseñaba un fichero nuevo con todos los datos necesarios(algo que provocaba redundancia) para evitar que los programastuviesen que leer muchos ficheros.A medida que se fueron introduciendo las líneas de comunicación, los terminalesy los discos, se fueron escribiendo programas que permitían a varios usuarios consultar los mismos ficheros on-line y de forma simultánea. Más adelante fue surgiendo la necesidad de hacer las actualizaciones también on-line.
A medida que se integraban las aplicaciones, se tuvieron que interrelacionarsus ficheros y fue necesario eliminar la redundancia. El nuevo conjunto de ficheros se debía diseñar de modo que estuviesen interrelacionados; al mismo tiempo, las informaciones redundantes (como por ejemplo, el nombre y la dirección de los clientes o el nombre y el precio de los productos), que figuraban en los ficheros de más de una de las aplicaciones, debían estar ahora en un sololugar.
El acceso on-line y la utilización eficiente de las interrelaciones exigían estructuras físicas que diesen un acceso rápido, como por ejemplo los índices, las multi listas, las técnicas de hashing, etc.
Estos conjuntos de ficheros interrelacionados, con estructuras complejas y compartidos por varios procesos de forma simultánea (unos on-line y otros porlotes), recibieron al principio el nombre de Data Banks, y después, a inicios de los años setenta, el de Data Bases. Aquí los denominamos bases de datos (BD).
El software de gestión de ficheros era demasiado elemental para dar satisfacción a todas estas necesidades. Por ejemplo, el tratamiento de las interrelaciones no estaba previsto, no era posible que varios usuarios actualizaran datos simultáneamente,etc. La utilización de estos conjuntos de ficheros por parte de los programas de aplicación era excesivamente compleja, de modo que, especialmentedurante la segunda mitad de los años setenta, fue saliendo al mercado software más sofisticado: los Data Base Management Systems, que aquí denominamos
sistemas de gestión de BD (SGBD).
sistemas de gestión de BD (SGBD).
Con todo lo que hemos dicho hasta ahora, podríamos definir el TérminoBD; una base de datos de un SI es la representación integrada de los conjuntosde entidades instancia correspondientes a las diferentes entidades tipo del SI y de sus interrelaciones. Esta representación informática (oconjunto estructurado de datos) debe poder ser utilizada de forma compartida por muchos usuarios de distintos tipos.
En otras palabras, una base de datos es un conjunto estructurado de datos que
representa entidades y sus interrelaciones. La representación será única e integrada,
a pesar de que debe permitir utilizaciones varias y simultáneas.
Los ficheros tradicionales y las BD.
Aunque de forma muy simplificada, podríamos enumerar las principales diferencias entre los
ficheros tradicionales y las BD tal y como se indica a continuación:
1) Entidades tipos:
• Ficheros: tienen registros de una sola entidad tipo.
• BD: tienen datos de varias entidades tipo.
2) Interrelaciones:
• Ficheros: el sistema no interrelaciona ficheros.
• BD: el sistema tiene previstas herramientas para interrelacionar entidades.
3) Redundancia:
• Ficheros: se crean ficheros a la medida de cada aplicación, con todos los datos necesarios
aunque algunos sean redundantes respecto de otros ficheros.
• BD: todas las aplicaciones trabajan con la misma BD y la integración de los datos es básica,
de modo que se evita la redundancia.
4) Usuarios
• Ficheros: sirven para un solo usuario o una sola aplicación. Dan una sola visión del mundo
real.
• BD: es compartida por muchos usuarios de distintos tipos. Ofrece varias visiones del
mundo real.
Evolución de los SGBD.
Para entender mejor qué son los SGBD, haremos un repaso de su evolución desde los años sesenta hasta nuestros días.2.1. Los años sesenta y setenta: sistemas centralizados.
Los primeros SGBD –en los años sesenta todavía no se les denominaba así–estaban orientados a facilitar la utilización de grandes conjuntos de datos en los que las interrelaciones eran complejas.
El arquetipo de aplicación era el Billof materials o Parts explosion, típica en las industrias del automóvil, en la construcción de naves espaciales y en campos similares. Estos sistemas trabajaban exclusivamente por lotes (batch).Al aparecer los terminales de teclado, conectados al ordenador central mediante una línea telefónica, se empiezan a construir grandes aplicaciones on-line transaccionales(OLTP). Los SGBD estaban íntimamente ligados al software de comunicaciones y de gestión de transacciones. Aunque para escribir los programas de aplicación se utilizaban lenguajes dealto nivel como Cobol o PL/I, se disponía también de instrucciones y de subrutinas especializadas para tratar las BD que requerían que el programador conociese muchos detalles del diseño físico, y que hacían que la programación fuese muy compleja.
Puesto que los programas estaban relacionados con el nivel físico, se debían modificar continuamente cuando se hacían cambios en el diseño y la organizaciónde la BD. La preocupación básica era maximizar el rendimiento: el tiempo de respuesta y las transacciones por segundo.2.2.
Los años ochenta: SGBD relacionales.
Los ordenadores minis, en primer lugar, y después los ordenadores micros, extendieron la informática a prácticamente todas las empresas e instituciones. Los SGBD de los años sesenta y setenta (IMS de IBM, IDS de Bull, DMSde Univac, etc.) eran sistemas totalmente centralizados, como correspondea los sistemas operativos de aquellos años, y al hardware para elque estaban hechos: un gran ordenador para toda la empresa y una redde terminales sin inteligencia ni memoria.
Esto exigía que el desarrollo de aplicaciones fuese más sencillo. Los SGBD de los años setenta eran demasiado complejos e inflexibles, y sólo los podía utilizar un personal muy cualificado.
Todos estos factores hacen que se extienda el uso de los SGBD. La estandarización,
en el año 1986, del lenguaje SQL produjo una auténtica explosión de los SGBD relacionales.
en el año 1986, del lenguaje SQL produjo una auténtica explosión de los SGBD relacionales.
Los ordenadores personalesDurante los años ochenta aparecen y se extienden muy rápidamente los ordenadores personales.También surge software para estos equipos monousuario (por ejemplo, dBase y sus derivados,Access), con los cuales es muy fácil crear y utilizar conjuntos de datos, y que sedenominan personal data bases. Notar que el hecho de denominar SGBD estos primeros sistemas para PC es un poco forzado, ya que no aceptaban estructuras complejas ni interrelaciones,ni podían ser utilizados en una red que sirviese simultáneamente a muchos usuarios de diferentes tipos. Sin embargo, algunos, con el tiempo, se han ido convirtiendo en auténticosSGBD.
Los años noventa: distribución, C/S y 4GL.
Al acabar la década de los ochenta, los SGBD relacionales ya se utilizaban prácticamente
en todas las empresas. A pesar de todo, hasta la mitad de los noventa, cuando se ha necesitado un rendimiento elevado se han seguido utilizando los SGBD prerrelacionales.
A finales de los ochenta y principios de los noventa, las empresas se han encontrado con el hecho de que sus departamentos han ido comprando ordenadores departamentales y personales, y han ido haciendo aplicaciones con BD. El resultado ha sido que en el seno de la empresa hay numerosas BD y varios SGBD de diferentes tipos o proveedores.
Este fenómeno de multiplicación de las BD y de los SGBD se ha visto incrementado por la fiebre de las fusiones de empresas.
La necesidad de tener una visión global de la empresa y de interrelacionar diferentes aplicaciones que utilizan BD diferentes, junto con la facilidad que dan las redes para la intercomunicación entre ordenadores, ha conducido a los SGBD actuales, que permiten que un programa pueda
trabajar con diferentes BD como si se tratase de una sola. Es lo que se conoce como base de datos distribuida.
Esta distribución ideal se consigue cuando las diferentes BD son soportadas por una misma marca de SGBD, es decir, cuando hay homogeneidad.
Sin embargo, esto no es tan sencillo si los SGBD son heterogéneos. En la actualidad, gracias principalmente a la estandarización del lenguaje SQL, los SGBD de marcas diferentes pueden darse servicio unos a otros y colaborar para dar servicio a un programa de aplicación. No obstante, en general, en los casos de heterogeneidad no se llega a poder dar en el programa que los utiliza la apariencia de que se trata de una única BD.
Además de esta distribución “impuesta”, al querer tratar de forma integrada distintas BD preexistentes, también se puede hacer una distribución “deseada”, diseñando una BD distribuida físicamente, y con ciertas partes replicadas en diferentes sistemas. Las razones básicas por las que interesa esta distribución son las siguientes:
1) Disponibilidad. La disponibilidad de un sistema con una BD distribuida puede ser más alta, porque si queda fuera de servicio uno de los sistemas, los demás seguirán funcionando. Si los datos residentes en el sistema no disponible están replicados en otro sistema, continuarán estando disponibles. En caso contrario, sólo estarán disponibles los datos de los demás sistemas.
2) Coste. Una BD distribuida puede reducir el coste. En el caso de un sistema centralizado, todos los equipos usuarios, que pueden estar distribuidos por distintas y lejanas áreas geográficas, están conectados al sistema central por medio de líneas de comunicación. El coste total de las comunicaciones se puede reducir haciendo que un usuario tenga más cerca los datos que utiliza con mayor frecuencia; por ejemplo, en un ordenador de su propia oficina o, incluso, en su
ordenador personal.
La tecnología que se utiliza habitualmente para distribuir datos es la que se conoce como entorno (o arquitectura) cliente/servidor (C/S). Todos los SGBD relacionales del mercado han sido adaptados a este entorno. La idea del C/S es sencilla. Dos procesos diferentes, que se ejecutan en
un mismo sistema o en sistemas separados, actúan de forma que uno tiene el papel de cliente o peticionario de un servicio, y el otro el de servidor o proveedor del servicio.
Por ejemplo, un programa de aplicación que un usuario ejecuta en su PC (queestá conectado a una red) pide ciertos datos de una BD que reside en un equipoUNIX donde, a su vez, se ejecuta el SGBD relacional que la gestiona. El programa de aplicación es el cliente y el SGBD es el servidor.
Un proceso cliente puede pedir servicios a varios servidores. Un servidor puede recibir peticiones de muchos clientes. En general, un proceso A que hace decliente, pidiendo un servicio a otro proceso B puede hacer también de servidorde un servicio que le pida otro proceso C (o incluso el B, que en esta petición sería el cliente). Incluso el cliente y el servidor pueden residir en un mismo sistema.
La facilidad para disponer de distribución de datos no es la única razón, ni siquiera la básica, del gran éxito de los entornos C/S en los años noventa. Tal vez el motivo fundamental ha sido la flexibilidad para construir y hacer crecer la configuración informática global de la empresa, así como de hacer modificaciones en ella, mediante hardware y software muy estándar y barato.
El éxito de las BD, incluso en sistemas personales, ha llevado a la aparición de los Fourth Generation Languages (4GL), lenguajes muy fáciles y potentes, especializados en el desarrollo de aplicaciones fundamentadas en BD. Proporcionan muchas facilidades en el momento de definir, generalmente de forma visual, diálogos para introducir, modificar y consultar datos en entornos C/S.
El éxito de las BD, incluso en sistemas personales, ha llevado a la aparición de los Fourth Generation Languages (4GL), lenguajes muy fáciles y potentes, especializados en el desarrollo de aplicaciones fundamentadas en BD. Proporcionan muchas facilidades en el momento de definir, generalmente de forma visual, diálogos para introducir, modificar y consultar datos en entornos C/S.
Tendencias actuales
Los tipos de datos que se pueden definir en los SGBD relacionales de los años ochenta y noventa son muy limitados. La incorporación de tecnologías multimedia –imagen y sonido– en los SI hace necesario que los SGBD relacionalesacepten atributos de estos tipos. Sin embargo, algunas aplicaciones no tienen suficiente con la incorporación detipos especializados en multimedia. Necesitan tipos complejos que el desarrollador pueda definir a medida de la aplicación. En definitiva, se necesitan tipos abstractos de datos: TAD. Los SGBD más recientes ya incorporaban esta posibilidad, y abren un amplio mercado de TAD predefinidos o librerías de clases.
Esto nos lleva a la orientación a objetos (OO). El éxito de la OO al final de los años ochenta, en el desarrollo de software básico, en las aplicaciones de ingeniería industrial y en la construcción de interfaces gráficas con los usuarios, ha hecho que durante la década de los noventa se extendiese en prácticamente todos los campos de la informática.
En los SI se inicia también la adopción, tímida de momento, de la OO. La utilizaciónde lenguajes como C++ o Java requiere que los SGBD relacionales seadapten a ellos con interfaces adecuadas. La rápida adopción de la web a los SI hace que los SGBD incorporen recursos para ser servidores de páginas web, como por ejemplo la inclusión de SQL enguiones HTML, SQL incorporado en Java, etc. Notad que en el mundo de laweb son habituales los datos multimedia y la OO.
Durante estos últimos años se ha empezado a extender un tipo de aplicaciónde las BD denominado Data Warehouse, o almacén de datos, que también produce algunos cambios en los SGBD relacionales del mercado.
A lo largo de los años que han trabajado con BD de distintas aplicaciones, las empresas han ido acumulando gran cantidad de datos de todo tipo. Si estosdatos se analizan convenientemente pueden dar información valiosa*.
Por lo tanto, se trata de mantener una gran BD con información proveniente de toda clase de aplicaciones de la empresa (e, incluso, de fuera). Los datos deeste gran almacén, el Data Warehouse, se obtienen por una replicación más o menos elaborada de las que hay en las BD que se utilizan en el trabajo cotidiano de la empresa. Estos almacenes de datos se utilizan exclusivamente para hacer consultas, de forma especial para que lleven a cabo estudios* los analistas financieros, los analistas de mercado, etc.
Actualmente, los SGBD se adaptan a este tipo de aplicación, incorporando, porejemplo, herramientas como las siguientes:
a) La creación y el mantenimiento de réplicas, con una cierta elaboración delos datos.
b) La consolidación de datos de orígenes diferentes.
c) La creación de estructuras físicas que soporten eficientemente el análisis multidimensional.
No hay comentarios:
Publicar un comentario
Muchas Gracias por tus comentarios ...