Definición
En una base de datos orientada a objetos, la información se representa mediante objetos como los presentes en la programación orientada a objetos. Cuando se integra las características de una base de datos con las de un lenguaje de programación orientado a objetos, el resultado es un sistema gestor de base de datos orientada a objetos (ODBMS, Object Database Management System). Un ODBMS hace que los objetos de la base de datos aparezcan como objetos de un lenguaje de programación en uno o más lenguajes de programación a los que dé soporte. Un ODBMS extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperación de datos, consultas asociativas y otras capacidades.
En los objetos no solo pueden guardarse los atributos, sino también los métodos, lo que refleja la afinidad de estas bases de datos con los lenguajes de programación orientados a objetos: al igual que en estos, cada objeto presenta un conjunto de acciones que pueden llevarse a cabo.
Los objetos se dividen a su vez en clases. Más concretamente, un objeto es una unidad concreta de una clase abstracta, lo que crea una jerarquía de clases y subclases. Dentro de esta estructura, las subclases adoptan las propiedades de las clases superordinadas y las complementan con sus propios atributos. Al mismo tiempo, los objetos de una clase también pueden relacionarse con otras clases, lo que rompe la jerarquía estricta y permite formar redes. Los objetos simples también pueden combinarse para crear objetos más complejos.
Para gestionar los diversos objetos, el SGBD orientado a objetos correspondiente asigna automáticamente un código de identificación único a cada registro, que permite recuperar los objetos una vez que se han guardado.
Ejemplo: en el contexto de una base de datos orientada a objetos, podemos guardar una bicicleta como objeto, con todos sus atributos y métodos: es roja, se puede conducir, tiene sillín, etc. Este objeto forma parte de la clase “bicicletas”, en la que, por ejemplo, también podría incluirse una bicicleta azul y otra verde. A su vez, la clase “bicicletas” es una subcategoría de “vehículos”, que también incluye la clase “coches”. Por otra parte, el objeto también está relacionado con la clase “actividades de ocio”. Si accedemos a este objeto a través de su código de identificación único, dispondremos directamente de todos sus métodos y atributos.
Historia
Los orígenes del término orientados a objetos (abreviado OO) se remontan a los lenguajes de programación orientadas a objetos. Los lenguajes de programación OO tienen sus raíces en el lenguaje SIMULA 67, propuesto a finales de la década de 1960. En Simula, el concepto de clase agrupa la estructura de datos interna de un objeto en una declaración de clase, es decir, introduce en el lenguaje ALGOL los conceptos de objeto y de clase. Como Algol, Simula es un lenguaje fuertemente tipado para entornos compilados. Sin embargo, el primer lenguaje que popularizó la aproximación a objetos fue Smalltalk (1976); este puede considerarse una síntesis de años del lenguaje Lisp, que ofrece una gran flexibilidad gracias a la interpretación, y de Simula, añadiendo el concepto de metaclase. Smalltalk ha podido responder a las necesidades de flexibilidad presentadas por el desarrollo de entornos de programación gráficos, favoreciendo la rápida creación de prototipos de interfaces de usuarios amigables. Fue utilizado con éxito en la primera estación gráfica de Xerox.3
Con la llegada de las estaciones de trabajo en los años 80, han crecido numerosos lenguajes orientados a objetos inspirados en Simula o Smalltalk. Entre los lenguajes compilados, los más célebres son C++, Objective C y Eiffel, debido a la compatibilidad del lenguaje o del código producido con el lenguaje de programación C. La mayor parte de los lenguajes interpretados son extensiones del Lisp; por ejemplo, Loops y CLOS. Es interesante notar que la mayor parte de los lenguajes populares existentes se encuentran en curso de ampliación para convertirse en orientados a objetos, incluyendo al COBOL y Ada (más exactamente Ada 9X, que aporta la herencia).
En años recientes, han aparecido muchos prototipos experimentales y sistemas de bases de datos comerciales orientados a objetos. Entre los primeros se encuentran los sistemas ORION, OpenOODB, IRIS, ODE y el proyecto ENCORE/ObServer. Y entre los sistemas disponibles en el mercado están: GEMSTONE/OPAL de ServicLogic, ONTOS de Ontologic, Objectivity de Objectivity Inc., Versant de Versant Technologies, ObjecStore de Object Design y O2 de O2 Technology. Esta es solo una lista parcial de los prototipos experimentales y de los sistemas de bases de datos comerciales orientados a objetos. Desafortunadamente, es aún demasiado pronto para saber cuáles sistemas se instalarán como líderes en este campo.
Las bases de datos orientadas a objetos han adoptado muchos de los objetos creados para los lenguajes de programación orientados a objetos.
Uso actual de la base de datos orientada a objetos
La base de datos orientada a objetos ha encontrado su nicho de aplicación en áreas tales como la ingeniería, las bases de datos espaciales, las telecomunicaciones y en áreas científicas como la física de alta energía y la biología molecular
Otro conjunto de bases de datos orientadas a objetos se centra en el uso integrado en dispositivos, paquetes de software y sistemas en tiempo real
0 Comentarios