Base de datos de objetos


Una base de datos de objetos es un sistema de gestión de bases de datos en el que la información se representa en forma de objetos como se utiliza en la programación orientada a objetos . Las bases de datos de objetos son diferentes de las bases de datos relacionales que están orientadas a tablas. Las bases de datos relacionales de objetos son un híbrido de ambos enfoques.

Los sistemas de administración de bases de datos orientados a objetos (OODBMS) también llamados ODBMS (Sistema de administración de bases de datos de objetos) combinan capacidades de base de datos con capacidades de lenguaje de programación orientado a objetos . Los OODBMS permiten a los programadores orientados a objetos desarrollar el producto, almacenarlos como objetos y replicar o modificar objetos existentes para crear nuevos objetos dentro del OODBMS. Debido a que la base de datos está integrada con el lenguaje de programación, el programador puede mantener la coherencia dentro de un entorno, ya que tanto el OODBMS como el lenguaje de programación utilizarán el mismo modelo de representación. Los proyectos DBMS relacionales, por el contrario, mantienen una división más clara entre el modelo de base de datos y la aplicación.

A medida que aumenta el uso de tecnología basada en web con la implementación de intranets y extranets, las empresas tienen un gran interés en los OODBMS para mostrar sus datos complejos. El uso de un DBMS que ha sido diseñado específicamente para almacenar datos como objetos brinda una ventaja a aquellas empresas que están orientadas a presentaciones multimedia u organizaciones que utilizan diseño asistido por computadora (CAD). [3]

Algunas bases de datos orientadas a objetos están diseñadas para funcionar bien con lenguajes de programación orientados a objetos como Delphi , Ruby , Python , JavaScript , Perl , Java , C # , Visual Basic .NET , C ++ , Objective-C y Smalltalk ; otros como JADE tienen sus propios lenguajes de programación. Los OODBMS utilizan exactamente el mismo modelo que los lenguajes de programación orientados a objetos.

Los sistemas de administración de bases de datos de objetos surgieron de la investigación durante la primera mitad de la década de 1970 para tener soporte intrínseco de administración de bases de datos para objetos estructurados en gráficos. El término "sistema de base de datos orientado a objetos" apareció por primera vez alrededor de 1985. [4] Proyectos de investigación notables incluyeron Encore-Ob / Server ( Universidad de Brown ), EXODUS ( Universidad de Wisconsin-Madison ), IRIS (Hewlett-Packard), ODE ( Bell Labs ), ORION ( Microelectronics and Computer Technology Corporation o MCC), Vodak (GMD-IPSI) y Zeitgeist (Texas Instruments). El proyecto ORION tuvo más artículos publicados que cualquiera de los otros esfuerzos. Won Kim de MCC recopiló lo mejor de esos artículos en un libro publicado por The MIT Press. [5]

Los primeros productos comerciales incluyeron Gemstone (Servio Logic, nombre cambiado a GemStone Systems), Gbase (Graphael) y Vbase (Ontologic). Otros productos comerciales entraron en el mercado a fines de la década de 1980 hasta mediados de la de 1990. Estos incluyeron ITASCA (Itasca Systems), Jasmine (Fujitsu, comercializado por Computer Associates), Matisse (Matisse Software), Objectivity / DB (Objectivity, Inc.), ObjectStore ( Progress Software , adquirido de eXcelon, que originalmente era Object Design, Incorporated ). , ONTOS (Ontos, Inc., nombre cambiado de Ontologic), O 2 [6] (O 2 Technology, fusionada con varias empresas, adquirida por Informix, que a su vez fue adquirida por IBM ), POET (ahora FastObjects de Versant que adquirió Poet Software), Versant Object Database ( Versant Corporation), VOSS (Logic Arts) y JADE (Jade Software Corporation). Algunos de estos productos permanecen en el mercado y se han unido a nuevos productos comerciales y de código abierto como InterSystems Caché .


Ejemplo de un modelo orientado a objetos [1]