El primer gestor de bases de datos (DBMS) comercial, IDS: Integrated
Data Store , se crea bajo el concepto del Modelo de Datos de Red (Bachgman,
1965); luego se desarrolla el IMS: Information Management System , sobre
el concepto del Modelo de Datos Jerárquico. Estos DBMSs eran
accesados normalmente por lenguajes de programación como Cobol usando
interfases de bajo nivel haciendo que las tareas de creación de
aplicaciones y mantenimiento de los datos fuesen controlables, pero
aún complejas.
A medida que evolucionaban los DBMS, los lenguajes de programación
también lo hacían. En 1967 surge el primer lenguaje
de programación orientado a objetos, Simula, el cual fue propuesto
para simulación de actividades. En este los procedimientos
podían ser asociados a un tipo para representar el comportamiento
de una instancia, introduciendo así el concepto de Clase.
Simula, soporta paralelismo permitiendo muchas entidades interactivas en
una simulación. Además comparte objetos acoplando datos
y procedimientos.
Luego se genera una nueva noción, donde las bases de datos deben
almacenar por medio de una estructura tabular llamada relación o
tabla (Codd,1970), compuesta por filas y columnas, accesando dichas relaciones
a través de un lenguaje de alto nivel no procedural (declarativo).
De esta forma en los años 80s surgen varios productores de DBMS
Relacionales (RDBMS) como Oracle, Informix, Ingres y DB2, además
de otros lenguajes orientados a objetos como el C++, Java (antes el Oak),
Eiffel, y Smalltalk adoptando y mejorando el concepto de clase pero su
desarrollo se hace independiente de los DBMSs.
Comenzando los años 80’s ya se siente la necesidad de que los
DBMS actuales manipulen objetos complejos y estructuras como las usadas
en sistemas CAD y CASE, entre otras. A partir de esto se da inicio
a dos grandes tendencias: los ORDBMS (Object Relational Database Management
System) los cuales se proyectan como una extensión de los RDBMS
hacia el paradigma OO, y los OODBMS (Object Oriented Database Management
System) estarían disponibles para almacenar y manipular las clases,
los objetos, la asociación entre ellos y sus métodos.
Así, finalizando los años 80s se crean los OODBMSs por medio
de productores como O2, ObjectDesign y Objectivity, entre otros.
Pero realmente se puede decir que estos no se hicieron tan comerciales
como los existentes RDBMS ya que el concepto de Orientación a Objetos
se seguía manejando muy a nivel del lenguaje de programación,
sin que se trabajaran estructuras de almacenamiento Orientadas a Objetos
dependientes de estos . Así, en 1991 surge la ODMG (Object
Database Management Group) el cual estandariza los OODBMSs a partir del
ODMG-93 y luego en 1992 el comité ANSI X3H2 inicia un trabajo en
SQL3, del cual surgen los DBMS objeto relacional ORDBMS. Este trabajo
fue programado para finalizarse en 1995, pero aún se sigue trabajando
en este con un tiempo límite de terminación, en el año
1999.
Por medio de la tabla 1 se puede observar la clasificación
que se ha hecho de las versiones que han generado los diferentes vendedores
de acuerdo a la evolución de los modelos:
Tabla 1. Productos DBMS por Vendedor, 1997.
| ProductosVendedor | RDBMS | ORDBMS | OODBMS |
| Oracle | Oracle 7.x | Oracle 8.x | |
| Sybase | System 10/11 | ||
| Informix | Dynamic Server | Universal Server (Ilustra) | |
| IBM | DB/2 | Universal Database (DB/2 Extenders) | |
| UniSQL | UniSQL/X | ||
| Unisys | OSMOS | ||
| Computer Associates | OpenIngres | Jasmine | |
| Gemstone | Gemstone | ||
| O2 | O2 | ||
| Object Design | Object Store | ||
| Objectivity | Objectivity/DB | ||
| Versant | Versant ODBMS |
En las Bases de Datos Relacionales, el SQL, representa una combinación de los anteriores.