Você está na página 1de 8

Comparativo entre Banco de Dados Orientado a

Objetos (BDOO) e Bancos de Dados Objeto Relacional


(BDOR)
Daniel Ramon Silva Pinheiro, Danilo Santos Souza, Rafael Oliveira Vasconcelos,
Fbio Soares Silva
RESUMO. Este artigo descreve as principais caractersticas dos Bancos de
Dados Orientados a Objetos (BDOO) e dos Bancos de Dados Objeto Relacional
(BDOR), faz uma breve explanao sobre orientao a objetos para que se
tenha um melhor entendimento das caractersticas e funcionamento dos bancos
BDOO e BDOR. explicado os principais detalhes, importncia e as
linguagens de definio de objetos (ODL) e consulta a objetos (OQL) do padro
ODMG utilizado nos BDOOs, apresenta o padro SQL3, tambm conhecido
como SQL99 utilizado nos BDORs. Por fim faz um comparativo dos modelos
orientado a objetos e objeto-relacional, tendo como base suas principais
caractersticas, apresentadas no prprio artigo, e apontando vantagens e
desvantagens de cada modelo Banco de Dados e dos softwares existentes que
seguem os padres supracitados.
PALAVRAS-CHAVE: BDOR, BDOO, Caractersticas, Desempenho
Abstract. This article describes the main features of the Object Oriented
Databases (OODB) and Object Relational Databases (ORDB), a brief
explanation on the objects orientation that have a better understanding of the
characteristics and operation of banks and OODB and ORDB. It explained the
main details, and the importance and language of object description (ODL) and
the object query (OQL) of ODMG standard used in ODBDs, presents the SQL3
standard, also known as SQL99 used in ORDBs. Finally make a comparison of
models objects oriented and object relational, based on its main features,
presented in the article and pointing out advantages and disadvantages of each
type Database and software available that follow the patterns above.
Keywords: Features, OODB, ORDB, Performance

1 I ntroduo
A necessidade de manipulao e armazenamento de dados complexos vem
crescendo rapidamente com o passar do tempo. Essa necessidade fez com que o
paradigma orientado a objetos fosse agregado aos Sistemas Gerenciadores de Banco
de Dados (SGBDs). As informaes complexas, como grficos, imagens, udio,
vdeo, mapas, entre outros, requerem funcionalidades que vo alm do que o modelo
relacional de banco de dados pode oferecer. Por essa razo, surgiu o modelo de banco
de dados orientado a objetos, que traz muitos benefcios em relao ao banco de
dados relacional, pela sua produtividade ao agregar a orientao a objetos ao banco de
dados. Entretanto, por ser um modelo jovem e imaturo que carece de mais estudo e
desenvolvimento, suas operaes so lentas quando comparadas com os bancos de
dados relacionais existentes. Por essa razo, foi desenvolvido o banco de dados objeto
relacional, o qual agrega caractersticas de ambos os bancos, o BDOO e o BDR,
possuindo assim caractersticas da orientao a objetos combinada com tecnologia
relacional que domina o mercado e funciona perfeitamente, seja no desempenho ou na
confiabilidade do SGBD.
Este artigo apresentar caractersticas dos BDOO e DBOR, com uma comparao
das vantagens e desvantagens dos dois modelos.
2. Banco de Dados Orientado a Objetos
Os Banco de Dados Orientado a Objetos sugiram da necessidade de armazenar
dados complexos e de acabar com a disparidade que havia na modelagem da
aplicao e do Banco de Dados (BD). Com o advento das linguagens de programao
orientadas a objetos, os programadores passaram a utilizar este paradigma e a
modelagem ento naturalmente passou tambm a seguir este modelo. O outro ponto
que objetos complexos precisam ser quebrados em diversas tabelas, ou relaes, para
serem armazenados e com isto para recuperar tal informao preciso realizar um
JOIN entre diversas tabelas.
Com a orientao a objetos, possvel modelar objetos de forma mais prxima ao
mundo real, como por exemplo, em um sistema de geoprocessamento, engenharia,
pesquisa cientfica e tantos outros sistemas no triviais. Um Bando de Dados
Orientado a Objetos BDOO permite ainda que a aplicao manipule objetos,
independente se eles so persistentes ou no, pois possvel armazenar todo o objeto
e no apenas seus atributos.
Diferentemente do modelo Relacional, o BDOO no utiliza o conceito de chave
primria ou secundria. As chaves foram substitudas pelo identificador de objeto
(OID Objetct Identifier), que controlado pelo prprio SGBD Sistema
Gerenciador de Banco de Dados e no visvel ao usurio do Banco de Dados. O
OID pode ser visto como uma referncia ao objeto em memria, assemelhando-se a
um ponteiro, porm um OID nunca alterado e nem reaproveitado, diferentemente do
que acontece quando o objeto est em memria, onde utilizado o endereo fsico da
memria RAM (Random Access Memory). Apesar da caracterstica mencionada,
possvel criar campos como chave para facilitar a identificao dos objetos
armazenados por parte do usurio.
2.1 Orientao a Objetos
A orientao a objetos fornece recursos como encapsulamento, herana,
polimorfismo e sobrecarga que sero rapidamente explicados.
Segundo Elmasri e Navathe, o conceito de encapsulamento uma das principais
caractersticas das linguagens e dos sistemas OO. Ele est relacionado tambm com
os conceitos de tipos abstratos de dados e ocultar a informao nas linguagens de
programao. Encapsular dados significa que as variveis sero acessadas por
mtodos definidos em sua estrutura. Uma vantagem poder ocultar a complexidade
na manipulao do objeto por meio das operaes disponibilizadas de tal forma que
aumenta a segurana e produtividade.
Herana o mecanismo pelo qual a linguagem de programao orientada a objetos
(LPOO) fornece a possibilidade do reaproveitamento de cdigo. possvel uma
classe herdar os mtodos e atributos de outra classe chamada superclasse ou classe
me e assim estender a classe me.
O polimorfismo a capacidade que um objeto tem de ora se comportar de uma
maneira, ora de outra. Considere as classes as classes Pessoa, Funcionrio e Aluno.
Com uma varivel do tipo Pessoa, possvel utiliz-la para representar um objeto do
tipo Pessoa, mas tambm objetos do tipo Funcionrio e Aluno.
O polimorfismo d a possibilidade da sobrecarga de operadores, no qual subclasses
podem modificar a implementao de um mtodo definido na superclasse.
Considerando o exemplo anterior e que cada classe tenha um mtodo chamado
Remover, para remover uma pessoa basta apenas excluir o seu registro, j para um
aluno preciso verificar se o mesmo no possui nenhuma pendncia na organizao,
excluir o aluno das disciplinas que est matriculado e por fim alterar o seu estado. J
para um funcionrio preciso remover o acesso s informaes da instituio,
calcular e pagar a indenizao caso se aplique e alterar o estado do funcionrio.
Percebe-se que cada classe tem a sua prpria implementao, apesar de
compartilharem o mesmo nome do mtodo.

2.2 Padro ODMG
O sucesso dos sistemas de banco de dados relacionais no resulta apenas de um
nvel mais alto de independncia de dados e um modelo de dados mais simples do que
os sistemas anteriores. Seu sucesso se deve tambm padronizao que sofreram. A
aceitao do padro SQL permite o alto grau de portabilidade e interoperabilidade...
Portabilidade a capacidade de executar um programa de aplicao particular em
diferentes sistemas com modificaes mnimas no programa. (Vieira, 2001)
Interoperabilidade se refere habilidade de uma aplicao acessar mltiplos SGDBs
distintos.
O padro ODGM (Object Database Management Group) se baseia em:
Modelo de Objetos
Linguagem de Definio de Objetos (ODL)
Linguagem de Consulta a Objetos (OQL)
Acoplamento (binding)
Elmasri e Navathe, 2005, dizem que o modelo de objetos fornece os tipos de
dados, os construtores de tipos e outros conceitos que podem ser utilizados na ODL
para especificar esquemas de BDs. O modelo define objetos e literais no qual os
objetos possuem um OID e um estado, ou valor atual, j as literais possuem apenas
um valor sendo basicamente uma constante. Tanto os objetos como as literais podem
ser do tipo atmico, coleo ou estruturado.
A linguagem ODL usada para criar a definio dos tipos de objetos, por isso deve
suportar todos os construtores semnticos do Modelo de Objetos. apenas uma
linguagem de definio e independente de qualquer linguagem de programao, sendo
utilizado o binding para a LPOO especfica.
A OQL uma linguagem declarativa no procedural que pode ser utilizada dentro
linguagens de programao. A OQL baseada na SQL, adicionando conceitos do
padro ODMG como OID, objetos complexos, herana, polimorfismo,
relacionamento e operaes.
O binding, ou acoplamento, especifica como as estruturas em ODL so mapeadas
para estruturas na LPOO escolhida, como C# por exemplo. o binding que converte
o objeto do BD para a aplicao.

3 Banco de Dados Objeto Relacional
Com a evoluo dos paradigmas de programao e a gradativa manipulao de
dados complexos, houve a necessidade da evoluo dos SGDBs de forma a
acompanhar e atender as exigncias requisitadas. Dessa evoluo nascem os
SGBDOO, os SGBDOR e evolues nos SGBDR.
Analisando de forma sucinta o SGBDOO, temos respectivamente um banco que
facilita a aproximao do mundo real, devido a trabalhar com orientao a objetos e
suas caractersticas (herana, encapsulamento, abstrao, polimorfismo), um banco
que permite a manipulao de dados complexos, mesmo com desempenho inferior ao
relacional e que possui um pobre nvel nas consultas dos dados. Continuando a
analise s que de um SGBDR, temos um banco que atua a um bom tempo no mercado
pelo fato de se ter anos de desenvolvimento, investimentos e aperfeioamentos, um
banco com desempenho superior aos SGBDOO, um SGBD que apresenta ricas
consultas e que possui dificuldade em manipular dados complexos.
Como podemos notar no pargrafo acima temos em cada tipo de SGBD citado,
vantagens e desvantagens nos mesmos. Ento se notou a carncia de um SGBD que
tivesse a capacidade de manipular dados complexos, que se adequasse ao paradigma
de programao atual (orientao a objetos), que tivesse bom desempenho e que
demonstrasse ricas consultas de dados. a partir dessas vantagens de cada SGBD que
se fundamenta o SGBDOR.
O SGBDOR emprega um modelo que coloca a orientao a objetos em tabelas,
unindo os dois paradigmas em um s. Utiliza os conceitos de supertabelas, supertipos,
herana, reutilizao de cdigo, encapsulamento, controle de identidade de objetos
(OID), referncia a objetos, consultas avanadas e alta proteo dos dados.
Com esse novo conceito surgiu necessidade de uma linguagem padro para o uso
com o SGBDOR. a partir da que nasce o SQL-3, que na verdade uma extenso do
SQL-2 complementado com caractersticas do modelo objeto-relacional.
Alguns exemplos de aplicaes que utilizam SGBDOR so os seguintes:
armazenamento de imagens (obtidas por satlite ou de alguma outra forma digital);
projetos de arquitetura; dados sobre o espao (regies geogrficas, criao de mapas),
sistemas de informaes geoespaciais, entre outros.
Apesar de ser um conceito relativamente novo no mundo da tecnologia de banco
de dados, o SGBDOR tem sido uma das promessas capaz de substituir o SGBDR e o
SGBDOO. O fato de obter o melhor do SGBDOO e do SGBDR faz tender que seja o
modelo de banco de dados ideal para atender as necessidades atuais.
3.1 Padro SQL3 ou SQL99
Assim como o SGBDOO e SGBDR possuem padres de linguagem de consulta,
com a evoluo do conceito objeto relacional ocorreu a necessidade da criao de
mais um padro para manipular o mesmo, findando assim a criao do padro SQL3
ou SQL99.
Criado em 1999 com o intuito de propor interao entre o banco de dados e
aplicaes orientadas a objetos de forma mais natural, inclui novos tipos de dados,
novos operadores, suporte para a noo de objeto (OIDs, mtodos, tipos de dados
estruturados definidos pelo usurio e etc.), consultas recursivas, triggers, navegao
pela estrutura dos objetos, chamada de mtodos (na prpria formulao da consulta) e
etc. Nele, representamos objetos como linhas (ROW) que definem uma tupla em
forma de registro. Diferente do modelo relacional, onde cada atributo possui valores
atmicos, pode ocorrer de objetos posuirem outros objetos ou de mais de um registro,
caracterizando o conceito de relao aninhada, onde os atributos podem ser
constitudos de outras relaes e no apenas de valores atmicos.
Um conjunto de novos operadores pode ser encontrado no SQL3, alguns deles so
os seguintes: Set, Cast-Multiset, Cursor, Bag, List, Array, Row.
Outro ponto que vale ressaltar o uso do tipo de dado LOB, utilizado para dados
muito grandes como vdeos, msica e etc. Possui dois subtipos que so o CLOB
(Character LOB) e BLOB (Binary LOB).
Enfim, um conjunto de outras utilidades pode ser encontrado na linguagem SQL3
ou SQL99 de modo a facilitar o uso do SGBDOR de forma eficiente e padronizada.
4 Comparao BDOO x BDOR
Como j apresentado, os Banco de Dados Orientado a Objetos (BDOO) sugiram da
necessidade de armazenar dados complexos e de acabar com a disparidade que havia
na modelagem da aplicao e do Banco de Dados (BD). Logo, as vantagens do
BDOO vieram rapidamente tona: possui uma abordagem flexvel, facilidade de
manusear objetos complexos, trabalha com noes de objetos, classes, relacionamento
e identidade de objetos.
Entretanto, logo foram percebidas suas limitaes, principalmente a relacionada ao
desempenho quando comparado com o Banco de Dados Relacional (BDR) e a falta de
fundamentao matemtica, o que dificulta realizar consultas complexas. Por conta,
principalmente destas limitaes, foi desenvolvido do Banco de Dados Objeto
Relacional (BDOR). Este apresenta diversas vantagens em relao ao BDOO e ao
BDR. Em poucas palavras, pode-se dizer que o BDOR surgiu para agregar as
vantagens da orientao a objetos (herana, polimorfismo, encapsulamento,
abstrao) que h no BDOO, juntamente com o alto desempenho, eficincia e
maturidade do BDR.
O armazenamento de dados, tanto em BDOO, quanto em BDOR, se torna
relativamente simples, uma vez que em ambos os bancos oferecem suporte a dados
complexos. Entretanto, a principal vantagem do BDOR a capacidade manipular
dados complexos, persistentes e ao mesmo tempo manter a facilidade de uso dos
mtodos de consulta do SQL3.
O BDOO possui um modelo rico de dados, ou seja, possui representao de objetos
complexos, extensvel (oferece suporte para novos tipos de dados capazes de operar
no objeto), ofereo suporte ocultao da informao e herana. Seu ponto fraco
seu baixo desempenho, uma vez que sua otimizao de consultas bastante
complexa, logo perdido um tempo precioso neste processo. O BDOR oferece todas
as caractersticas citadas no pargrafo anterior, exceto a do baixo desempenho. O
BDOR possui uma otimizao de consulta mais simples, e consequentemente, no
perde tanto desempenho quanto o BDOO.
Com relao ao mercado, o BDOO voltado para aplicaes de pequena escala,
por questes de desempenho. J o BDOR busca alcanar aplicaes de larga escala, a
qual atualmente dominada pelos BDR.
Concluso
A orientao a objetos a tendncia seja qual for a situao, o seu dilema o fato
da perda de desempenho. Assim como primeiras linguagens de programao onde
tudo era um objeto, os BDOOs sofrem com o desempenho. Quando s existia o
BDR, apareceu a necessidade de armazenar dados complexos, uma tima soluo foi
o BDOO, entretanto, por seu desempenho no satisfatrio, um outro banco foi
desenvolvido, o BDOR, que agrega caractersticas da orientao a objetos e
otimizao do BDR. O modelo objeto relacional pode ser comparado s linguagens de
programao atuais, onde apenas dados complexos so representados como objetos,
tendo assim maior desempenho.
O BDOR ainda no alcanou aplicaes de larga escala, pois se trata de um banco
relativamente novo, mas como suas vantagens esto se tornando cada vez mais
evidentes, a tendncia que as empresas e aplicaes que manipulam dados
complexos comecem a utilizar o BDOR e no futuro este modelo de banco de dados
tome o lugar do tradicional BDR.
Referncias
1. Berz, Everton L., Wagner, Roger; Figueira, Thiago G. Sistemas Gerenciadores de Banco de
Dados Orientado a Objeto e Objeto-Relacional. Disponvel em <
http://www2.wzero.com.br:81/eurico/folders/Faccat/BDII/trabalhos/BDRO_trabG2.pdf>
Acesso em 29/04/2009
2. Boscarioli, Clodis; Bezerra, Anderson; Benedicto, Marcos de; Delmiro, Gilliard. Uma
reflexo sobre Banco de Dados Orientados a Objetos. Disponvel em <
http://conged.deinfo.uepg.br/artigo4.pdf> Acesso em 29/04/2009
3. Campos, Maria Luiza M.; Klein, Lawrence Z.; Tanaka, Astrio K. A Tecnologia Objeto-
Relacional em Ambientes de Data Warehouse: Uso de Sries Temporais como Tipo de
Dado No Convencional. Disponvel em <http://www.inf.ufsc.br/sbbd99/anais/SBBD-
Completo/30.PDF>. Acesso em 29/04/2009
4. Debus, Rafael; Pittol, Eduardo; Caorsi, Nicolas. Banco de Dados Orientados a Objetos.
Disponvel em < http://www.inf.unisinos.br/~bandeira/BDOO.doc> Acesso em 29/04/2009
5. Fonseca, Andr de A.; Neto, Antonio de A. S.; Souza, Lucas T. de; Dourado, Tasso L.
Banco de Dados Objeto-Relacional (BDOR). Disponvel em <
https://disciplinas.dcc.ufba.br/pub/MATA60/WebHome/BDOR_2008.1.pdf> Acesso em
29/04/2009
6. Fonseca, Fernando; Salgado, Ana C. Banco de Dados. Disponvel em <
http://www.cin.ufpe.br/~in940/BD-OO.pdf> Acesso em 29/04/2009
7. Mattoso, Marta; Baio, Fernanda. Bancos de Dados Orientados a Objetos e Relacionais a
Objetos. Disponvel em < http://www.cos.ufrj.br/~marta/BDOO_OR_sbbd2003.pdf>
Acesso em 29/04/2009
8. Neves, Nilton A. das; Rocha, Gabriel A.; Segundo, Alonso de O. Banco de Dados Objeto-
Relacional (BDOR). Disponvel em
<https://disciplinas.dcc.ufba.br/pub/MATA60/WebHome/BDOR_2008.1.pdf> Acesso em
29/04/2009
9. Ricarte, Ivan L. M. Sistemas de Bancos de Dados Orientados a Objetos. Disponvel em
<ftp://ftp.dca.fee.unicamp.br/pub/docs/ricarte/apostilas/mc_sbdoo.pdf> Acesso em
29/04/2009
10.Roma, Adriana. Modelos de Banco de Dados Orientados a Objetos. Disponvel em <
http://www.inf.ufrgs.br/~clesio/cmp151/cmp15120031/BDsOrientadosObjetos.pdf> Acesso
em 29/04/2009
11.Soares, Deyve. Banco de Dados Objeto Relacional (SGBDOR). Disponvel em
<http://www.computacao.unitri.edu.br/downloads/monografia/93941146082690.pdf>
Acesso em 29/04/2009
12.Vieira, Marina T. P. Banco de Dados Orientado a Objetos. Disponvel em
<http://www.recope.dc.ufscar.br/recope/download/bd/apostilabdoo.pdf> Acesso em
29/04/2009

Você também pode gostar