Conceptos Básicos
Breve historia de una Base de Datos
Los predecesores de los sistemas de bases de datos fueron los sistemas de archivos. No se sabe con certeza en qué momento dejaron de utilizarse
los sistemas de archivos para dar comienzo a los sistemas de bases de datos, de hecho, en la actualidad existen todavía sistemas de información
que utilizan para el almacenamiento de la información sistemas de archivos.
Se dice que los sistemas de bases de datos tienen sus raíces en el proyecto estadounidense Apolo para mandar al hombre a la luna en los años sesenta.
En aquella época, no había ningún sistema que permitiera gestionar la inmensa cantidad de información que requería el proyecto. La primera empresa encargada
del proyecto, NAA (North American Aviation), desarrolló un software denominado GUAM (General Update Access Method) que estaba basado en el concepto de que varias
piezas pequeñas se unen para formar una pieza más grande, y así sucesivamente hasta que el producto final está ensamblado. Esta estructura, que tiene una forma de
un árbol, es lo que se denomina una estructura jerárquica. A mediados de los sesenta, IBM se unió a NAA para desarrollar GUAM en lo que ahora se conoce como IMS
(Information Management System). El motivo por el cual IBM restringió IMS al manejo de jerarquías de registros fue el de permitir el uso de dispositivos de almacenamiento
serie, más exactamente las cintas magnéticas, ya que era un requisito del mercado por aquella época.
A mitad de los sesenta, se desarrolló IDS (Integrated Data Store), de General Electric. Este trabajo fue dirigido por uno de los pioneros en los sistemas de bases de datos, Charles
Bachmann. IDS era un nuevo tipo de sistema de bases de datos conocido como sistema de red, que produjo un gran efecto sobre los sistemas de información de aquella generación. El sistema
de red se desarrolló, en parte, para satisfacer la necesidad de representar relaciones entre datos más complejas que las que se podían modelar con los sistemas jerárquicos, y, en parte,
para imponer un estándar de bases de datos. Para ayudar a establecer dicho estándar, CODASYL (Conference on Data Systems Languages), formado por representantes del gobierno de Estados
Unidos y representantes del mundo empresarial, formaron un grupo denominado DBTG (Data Base Task Group), cuyo objetivo era definir unas especifricaciones estándar que permitieran la creación
de bases de datos y el manejo de los datos. El DBTG presentó su informe final en 1971 y aunque éste no fue formalmente aceptado por ANSI (American Nacional Standards Institute), muchos sistemas
se desarrollaron siguiendo la propuesta del DBTG. Estos sistemas son los que se conocen como sistemas de red o sistemas CODASYL o DBTG.
Los sistemas jera´rquico y de red constituyen la primera generación de los Sistemas de Gestión de Bases de Datos (SGBD o DBMG por sus siglas en inglés). Estos sistemas presentaban algunos inconvenientes:
-
Era necesario escribir complejos programas de aplicación para responder a cualquier tipo de consulta de datos, pos simple que ésta pudiera ser
-
La independencia de los datos es mínima
-
No tenían fundamento teÛrico
En 1970, E.F. Codd, de los laboratorios de investigación de IBM, escribió un artículo presentando el
modelo relacional. En este artículo, presentaba también los inconvenientes de los sistemas previos
(el jerárquico y el de red). En ese entonces, se comenzaron a desarrollar muchos sistemas relacionales, apareciendo los primeros a finales de los años setenta y principios de los ochenta. Uno de los
primeros es
System R, de IBM, que se desarrolló para probar la funcionalidad del modelo relacional, proporcionando una implementación de sus estructuras de datos y sus operaciones. Esto condujo a dos grandes desarrollos:
-
El desarrollo de un lenguaje de consultas estructurado denominado SQL (Structured Query Language), que se ha convertido en el lenguaje estándar de los sistemas relacionales
-
La producción de varios SGBD relacionales durante los años ochenta, como DB2 y SLQ/DS de IBM y ORACLE de ORACLE Corporation.
En la actualidad existen una gran cantidad de SGBD relacionales, tanto para computadoras personales como para sistemas multiusuario, aunque muchos no son completamente fieles al modelo relacional.
Otros sistemas relacionales multiusuario son INGRES de Computer Associates, Informix de Informix Software Inc. y Sybase de Sybase Inc. y MySQL de MySQL AB. Ejemplos de sistemas relacionales para computadoras personales son Paradox y
dBase IV de Borland, Access de Microsoft, FoxPro y R:base de Microrim y también y MySQL de MySQL AB.
Los SGBD relacionales constituyen la segunda generación de los SGBD. Sin embargo, el modelo relacional también tiene sus fallos, siendo uno de ellos su limitada capacidad al modelar los datos. Se ha hecho mucha investigación desde
entonces tratando de resolver este problema. En 1976, Chen presentó el modelo entidad-relación, que es la técnica más utilizada en el diseño de bases de datos. En 1979, Codd intentó subsanar algunas de las deficiencias de su modelo
relacional con una versión extendida denominada RM/T (1979) y más recientemente RM/V2 (1990). Los intentos de proporcionar un modelo de datos que represente al mundo real de un modo más fiel han dado lugar a los modelos de datos semánticos.
Como respuesta a la creciente complejidad de las aplicaciones que requieren bases de datos, han surgido dos nuevos modelos: el modelo de datos orientado a objetos y el modelo relacional extendido. Sin embargo, a diferencia de los modelos
que los preceden, la composición de estos modelos no está clara. Esta evolución representa la tercera generación de los SGBD.