Você está na página 1de 4

Banco de dados orientado a objetos

Origem: Wikipdia, a enciclopdia livre.

Um banco de dados orientado a objetos um banco de dados em que cada informao armazenada na
forma de objetos, ou seja, utiliza a Estrutura de dados denominada Orientao a objetos, a qual permeia as
linguagens mais modernas, comeou a ser comercialmente vivel em 1980 . O gerenciador do banco de dados
para um orientado a objeto referenciado por vrios como ODBMS ou OODBMS.

Existem dois fatores principais que levam a adoo da tecnologia de banco de dados orientados a objetos. A
primeira, que em um banco de dados relacional se torna difcil de manipular com dados complexos (esta
dificuldade se d pois o modelo relacional se baseia menos no senso comum relativo ao modelo de dados
necessrio ao projeto e mais nas contingncias prticas do armazenamento eletrnico). Segundo, os dados so
geralmente manipulados pela aplicao escrita usando linguagens de programao orientada a objetos, como
C++, C#, Java,Python ou Delphi (Object Pascal), e o cdigo precisa ser traduzido entre a representao do dado
e as tuplas da tabela relacional, o que alm de ser uma operao tediosa de ser escrita, consome tempo. Esta
perda entre os modelos usados para representar a informao na aplicao e no banco de dados tambm
chamada de perda por resistncia.

ndice
1 Histria
2 Recursos Tcnicos
3 Vantagens e Desvantagens
4 ODMG
5 Referncias e notas
6 Ver tambm

Histria
Os sistemas de gerenciamento de banco de dados orientado a objetos cresceram fora das pesquisas durante o
comeo da metade dos anos 80, buscando ter sustentao intrnseca da gerncia da base de dados para objetos
grfico-estruturados. O termo sistema de banco de dados orientado a objetos surgiu originalmente por volta
de 1985. Projetos de pesquisa notveis incluem Encore-Ob/Server (Brown University), EXODUS (University
of Wisconsin), IRIS (Hewlett-Packard), ODE (Bell Labs), ORION (Microelectronics and Computer
Technology Corporation or MCC), Vodak (GMD-IPSI), e Zeitgeist (Texas Instruments). O projeto ORION teve
mais artigos publicados do que qualquer outro. Won Kim, do MCC, compilou os melhores destes artigos num
livro publicado pelo MIT Press.[1]

Surgiram produtos comerciais, como o GemStone (Servio Logic, alterado para GemStone Systems), Gbase
(Graphael), e Vbase (Ontologic). No comeo da metade dos anos 90 vimos novos produtos comerciais entrarem
no mercado. Deste inclui-se ITASCA (Itasca Systems), Matisse (Matisse Software), Objectivity/DB
(Objectivity, Inc.), ObjectStore (Progress Software, adquirido pela eXcelon, a qual era originalmente Object
Design), ONTOS (Ontos, Inc., alterado para Ontologic), O2[2] (O2 Technology, surgiu de vrias companhias,
adquirido pela Informix, qual por sua vez foi adquirida pela IBM), POET (agora da FastObjects da Versant que
adquiriu a Poet Systems), e Versant Object Database (Versant Corporation). Alguns destes produtos se mantm
no mercado, tendo alguns se unido com novos produtos.
Os Sistema de Gerenciamento de Banco de Dados Orientados a Objetos adicionaram o conceito de persistncia
programao orientada a objetos. No incio os produtos comerciais eram integrados com vrias linguagens
GemStone (Smalltalk), Gbase (Lisp), e Vbase (COP). O COP era o C Object Processor, uma linguagem
proprietria baseada no C ( COP diferente de C++. Apesar de ambas terem C como base C++ tambm foi
influenciada Pela Simula). Durante praticamente todos os anos 90, o C++ dominou o mercado comercial de
Gerenciadores de Banco de Dados Orientados a Objetos. Os vendedores acrescentaram o Java no final dos anos
90 e mais recentemente o C#.

Recursos Tcnicos
Num banco de dados orientado a objetos puro, os dados so armazenados como objetos onde s podem ser
manipulados pelos mtodos definidos pela classe de que estes objetos pertencem. Os objetos so organizados
numa hierarquia de tipos e subtipos que recebem as caractersticas de seus supertipos. Os objetos podem conter
referncias para outros objetos, e as aplicaes podem consequentemente acessar os dados requeridos usando
um estilo de navegao de programao.

A maioria dos banco de dados tambm oferecem algum tipo de linguagem de consulta, permitindo que os
objetos sejam localizados por uma programao declarativa mais prxima. Isto , na rea das linguagens de
consulta orientada a objetos. A integrao da consulta com a interface de navegao faz a grande diferena
entre os produtos que so encontrados. Uma tentativa de padronizao foi feita pela ODMG (Object Data
Management Group) com a OQL (Object Query Language).

O acesso aos dados pode ser rpido porque as junes geralmente no so necessrias (como numa
implementao tabular de uma base de dados relacional), isto , porque um objeto pode ser obtido diretamente
sem busca, seguindo os ponteiros.

Outra rea de variao entre os produtos o modo que este esquema do banco de dados definido. Uma
caracterstica geral, entretanto, que a linguagem de programao e o esquema do banco de dados usam o
mesmo modo de definio de tipos.

Aplicaes multimdia so facilitadas porque os mtodos de classe associados com os dados so responsveis
pela correta reproduo.

Muitos bancos de dados orientados a objetos oferecem suporte a verses. Um objeto pode ser visto de todas as
vrias verses. Ainda, verses de objetos podem ser tratadas como objetos na verso correta. Alguns bancos de
dados orientados a objetos ainda proveem um suporte sistemtico a triggers e constraints que so as bases dos
bancos ativos.

Vantagens e Desvantagens
Benchmarks entre ODBMSs e relacionais DBMSs tem mostrado que ODBMS podem ser claramente superiores
para certos tipos de tarefas. A principal razo para isto que vrias operaes so feitas utilizando interfaces
navegacionais ao invs das relacionais, e o acesso navegacional geralmente implementado de forma muito
eficiente por ponteiros.[3]

Crticos das tecnologias baseadas em Bancos de Dados Navegacionais, como os ODBMS, sugerem que as
tcnicas baseadas em ponteiros so otimizadas para rotas de pesquisa ou pontos de vista muito especficos.
Entretanto, para o propsito de consultas gerais a mesma informao, tcnicas baseadas em ponteiros tendero
a ser mais lentas e mais difceis de se formular do que as relacionais. Desta maneira, a abordagem navegacional
parece simplificar para usos dos especficos conhecidos s custas do uso geral, ignorando usos futuros.

Outra coisa que trabalha contra os ODBMS parece ser a perda da interoperabilidade com um grande nmero de
ferramentas/caractersticas que so tidas como certas no mundo SQL, incluindo a indstria de padres de
conectividade, ferramentas de relatrio, ferramentas de OLAP e backup, e padres de recuperao.
Adicionalmente, banco de dados orientado a objetos perdem o fundamento formal matemtico, ao contrrio do
modelo relacional, e isto s vezes conduz a fraqueza na sustentao da consulta. Entretanto esta objeo
descartada pelo fato que alguns ODBMSs suportam totalmente o SQL em adio ao acesso navegacional
(Objectivity/SQL++). Mas, o uso eficaz pode requerer acordos para manter ambos os paradigmas
sincronizados.

De fato h uma tenso intrnseca entre a noo de encapsulamento, que esconde os dados e somente os
disponibiliza atravs de uma interface de mtodos publicados, e o pressuposto de muitas tecnologias de bancos
de dados, de que estes dados podem ser acessados por consultas baseadas em seu contedo ao invs de
caminhos predefinidos. O pensamento centrado em bancos de dados tende a ver o mundo atravs de forma
declarativa e dirigida a uma viso de atributos, enquanto a OOP tenta ver o mundo atravs um ponto de vista
comportamental. Esta uma das vrias perdas por resistncia que envolvem OOP e banco de dados.

Embora alguns afirmem que a tecnologia de banco de dados orientado a objetos fracassou, os argumentos
essenciais em seu favor permanecem vlidos, e as tentativas de integrar as funcionalidades de bancos de dados
mais prxima as linguagens de programao orientadas a objeto continuam tanto nas comunidades de pesquisa
quanto nas industriais.

ODMG
O ODMG (Object Database Management Group) era um consrcio de vendedores de banco de dados
orientados a objetos e mapeadores objeto-relacionais, membros da comunidade acadmica, e parceiros
interessados. A meta era criar um conjunto de especificaes que permitiriam a portabilidade das aplicaes
que armazenam objetos em sistemas de gerenciamento de banco de dados. Foram publicadas vrias verses
desta especificao. O ltimo release foi a ODMG 3.0. Em 2001, a maioria dos principais vendedores de banco
de dados orientado a objetos e mapeadores de objeto-relacionais reivindicaram a conformidade com a ODMG
Java Language Binding. A conformidade com os demais componentes da especificao foi variada.[4] Em
2001, o ODMG Java Language Binding foi submetido para o Java Community Process como base para a
especificao Java Data Objects. As companhias membras do ODMG decidiram ento concentrar esforos na
especificao do Java Data Objects. Como resultado, a ODMG se dissolveu em 2001.

Vrias ideias do banco de dados orientado a objetos foram absorvidas pela SQL:1999 e tem sido
implementadas em vrios graus nos produtos de banco de dados objeto-relacional.

Em 2005 Cook, Rai e Rosenberger propuseram abandonar todos os esforos de padronizao para introduzir
APIs adicionais de consulta orientadas a objetos e, ao invs disso, usar as prprias linguagens orientadas a
objetos, como o JAVA e o .NET. Como resultado surgiram as Consultas Nativas (Native Queries).
Similarmente, a Microsoft anunciou a LINQ (Language Integrated Query) e DLINQ, uma implementao do
LINQ, em setembro de 2005, para prover a aproximao da capacidade da linguagem de consulta integrada do
banco de dados com as linguagens de programao C# e VB.NET 9.

Em fevereiro de 2006, o OMG (Object Management Group) anunciou que havia concedido o direito de
desenvolver novas especificaes baseadas na especificao ODMG 3.0 e a formao do ODBT WG (Object
Database Technology Working Group). O ODBT WG planeja criar um conjunto de especificaes que
incorporar avanos da tecnologia de banco de dados orientados a objetos (ex. replicao), gerenciamento de
dados (ex. indexao espacial) e formato de dados (ex. XML) e incluir novas caractersticas dentro deste
padro que dar suporte ao domnios onde as bancos de dados orientadas a objeto esto sendo adotadas (ex.
sistemas de Tempo real).

Referncias e notas
1. Kim, Won. Introduction to Object-Oriented Databases. The MIT Press, 1990. ISBN 0-262-11124-1
2. Bancilhon, Francois; Delobel,Claude; and Kanellakis, Paris. Building an Object-Oriented Database
System: The Story of O2. Morgan Kaufmann Publishers, 1992. ISBN 1-55860-169-4.
3. Animao mostrando como um banco de dados orientado a objetos funciona (http://www.service-architec
ture.com/object-oriented-databases/articles/transparent_persistence.html)
4. Barry, Douglas and Duhl, Joshua. Object Storage Fact Books: Object DBMSs and Object-Relational
Mapping. Barry & Associates, Inc., 2001. A pginas exibe a conformidade da ODMG para a os banco de
dados orientados a objetos e os produtos objeto-relacionais em 2001 (http://www.barryandassociates.co
m/odmg-compliance.html)

Ver tambm
Orientao a Objeto
Mapeamento Objeto-Relacional
Persistncia
Modelo Relacional
db4o
Estruturas de dados
Linguagens de programao
SGBD

Obtida de "https://pt.wikipedia.org/w/index.php?
title=Banco_de_dados_orientado_a_objetos&oldid=45386088"

Categorias: SGBDs Programao orientada a objetos

Esta pgina foi modificada pela ltima vez (s) 19h44min de 19 de abril de 2016.
Este texto disponibilizado nos termos da licena Creative Commons - Atribuio - Compartilha Igual
3.0 No Adaptada (CC BY-SA 3.0); pode estar sujeito a condies adicionais. Para mais detalhes,
consulte as condies de uso.

Você também pode gostar