TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

A Erra Dos Computadores

Trabalho Universitário: A Erra Dos Computadores. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  14/5/2014  •  2.559 Palavras (11 Páginas)  •  294 Visualizações

Página 1 de 11

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,

Fábio Soares Silva

RESUMO. Este artigo descreve as principais características dos Bancos de

Dados Orientados a Objetos (BDOO) e dos Bancos de Dados Objeto Relacional

(BDOR), faz uma breve explanação sobre orientação a objetos para que se

tenha um melhor entendimento das características e funcionamento dos bancos

BDOO e BDOR. É explicado os principais detalhes, importância e as

linguagens de definição de objetos (ODL) e consulta a objetos (OQL) do padrão

ODMG utilizado nos BDOOs, apresenta o padrão SQL3, também conhecido

como SQL99 utilizado nos BDORs. Por fim faz um comparativo dos modelos

orientado a objetos e objeto-relacional, tendo como base suas principais

características, apresentadas no próprio artigo, e apontando vantagens e

desvantagens de cada modelo Banco de Dados e dos softwares existentes que

seguem os padrões supracitados.

PALAVRAS-CHAVE: BDOR, BDOO, Características, 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 Introdução

A necessidade de manipulação 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 informações complexas, como gráficos, imagens, áudio,

vídeo, mapas, entre outros, requerem funcionalidades que vão além do que o modelo

relacional de banco de dados pode oferecer. Por essa razão, surgiu o modelo de banco

de dados orientado a objetos, que traz muitos benefícios em relação ao banco de

dados relacional, pela sua produtividade ao agregar a orientação a objetos ao banco de

dados. Entretanto, por ser um modelo jovem e imaturo que carece de mais estudo e

desenvolvimento, suas operações são lentas quando comparadas com os bancos de

dados relacionais existentes. Por essa razão, foi desenvolvido o banco de dados objeto

relacional, o qual agrega características de ambos os bancos, o BDOO e o BDR,

possuindo assim características da orientação a objetos combinada com tecnologia

relacional que domina o mercado e funciona perfeitamente, seja no desempenho ou na

confiabilidade do SGBD.

Este artigo apresentará características dos BDOO e DBOR, com uma comparação

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

aplicação e do Banco de Dados (BD). Com o advento das linguagens de programação

orientadas a objetos, os programadores passaram a utilizar este paradigma e a

modelagem então naturalmente passou também a seguir este modelo. O outro ponto é

que objetos complexos precisam ser quebrados em diversas tabelas, ou relações, para

serem armazenados e com isto para recuperar tal informação é preciso realizar um

JOIN entre diversas tabelas.

Com a orientação a objetos, é possível modelar objetos de forma mais próxima ao

mundo real, como por exemplo, em um sistema de geoprocessamento, engenharia,

pesquisa científica e tantos outros sistemas não triviais. Um Bando de Dados

Orientado a Objetos – BDOO – permite ainda que a aplicação manipule objetos,

independente se eles são persistentes ou não, pois é possível armazenar todo o objeto

e não apenas seus atributos.

Diferentemente do modelo Relacional, o BDOO não utiliza o conceito de chave

primária ou secundária. As chaves foram substituídas pelo identificador de objeto

(OID – Objetct Identifier), que é controlado pelo próprio SGBD – Sistema

Gerenciador de Banco de Dados – e não é visível ao usuário do Banco de Dados. O

OID pode ser visto como uma referência ao objeto em memória, assemelhando-se a

um ponteiro, porém um OID nunca é alterado e nem reaproveitado, diferentemente do

que acontece quando o objeto está em memória, onde é utilizado o endereço físico da

memória RAM (Random Access Memory). Apesar da característica mencionada, é

possível criar campos como chave para facilitar a identificação dos objetos

armazenados por parte do usuário.

2.1 Orientação a Objetos

A orientação a objetos fornece recursos como encapsulamento, herança,

polimorfismo e sobrecarga que serão rapidamente explicados.

Segundo Elmasri e Navathe, “o conceito de encapsulamento é uma das principais

características das linguagens e dos sistemas OO. Ele está relacionado também com

os conceitos de tipos abstratos de dados e ocultar a informação nas linguagens de

programação”. Encapsular dados significa que as variáveis serão acessadas por

métodos definidos em sua estrutura. Uma vantagem é poder ocultar a complexidade

na manipulação do objeto por meio das operações disponibilizadas de tal forma que

aumenta a segurança e produtividade.

Herança é o mecanismo pelo qual a linguagem de programação orientada a objetos

(LPOO) fornece a possibilidade do reaproveitamento de código. É possível uma

classe herdar os métodos e atributos de outra classe chamada superclasse ou classe

mãe e assim estender a classe mãe.

O polimorfismo é a capacidade que um objeto tem de ora se comportar de uma

maneira, ora de outra. Considere as classes as classes Pessoa, Funcionário e Aluno.

Com uma variável do tipo Pessoa, é possível utilizá-la para representar um objeto do

tipo Pessoa, mas também objetos do tipo Funcionário e Aluno.

O polimorfismo dá a possibilidade da sobrecarga de operadores, no qual subclasses

podem modificar a implementação de um método definido na superclasse.

Considerando o exemplo anterior e que cada classe tenha um método chamado

Remover, para remover uma pessoa basta apenas excluir o seu registro, já para um

aluno é preciso verificar se o mesmo não possui nenhuma pendência na organização,

excluir o aluno das disciplinas que está matriculado e por fim alterar o seu estado. Já

para um funcionário é preciso remover o acesso às informações da instituição,

calcular e pagar a indenização caso se aplique e alterar o estado do funcionário.

Percebe-se que cada classe tem a sua própria implementação, apesar de

compartilharem o mesmo nome do método.

2.2 Padrão ODMG

“O sucesso dos sistemas de banco de dados relacionais não resulta apenas de um

nível mais alto de independência de dados e um modelo de dados mais simples do que

os sistemas anteriores. Seu sucesso se deve também à padronização que sofreram. A

aceitação do padrão SQL permite o alto grau de portabilidade e interoperabilidade...

Portabilidade é a capacidade de executar um programa de aplicação particular em

diferentes sistemas com modificações mínimas no programa.” (Vieira, 2001)

Interoperabilidade se refere à habilidade de uma aplicação acessar múltiplos SGDBs

distintos.

O padrão ODGM (Object Database Management Group) se baseia em:

• Modelo de Objetos

• Linguagem de Definição 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 atômico, coleção ou estruturado.

A linguagem ODL é usada para criar a definição dos tipos de objetos, por isso deve

suportar todos os construtores semânticos do Modelo de Objetos. É apenas uma

linguagem de definição e independente de qualquer linguagem de programação, sendo

utilizado o binding para a LPOO específica.

A OQL é uma linguagem declarativa não procedural que pode ser utilizada dentro

linguagens de programação. A OQL é baseada na SQL, adicionando conceitos do

padrão ODMG como OID, objetos complexos, herança, polimorfismo,

relacionamento e operações.

O binding, ou acoplamento, especifica como as estruturas em ODL são mapeadas

para estruturas na LPOO escolhida, como C# por exemplo. É o binding que converte

o objeto do BD para a aplicação.

3 Banco de Dados Objeto Relacional

Com a evolução dos paradigmas de programação e a gradativa manipulação de

dados complexos, houve a necessidade da evolução dos SGDB’s de forma a

acompanhar e atender as exigências requisitadas. Dessa evolução nascem os

SGBDOO, os SGBDOR e evoluções nos SGBDR.

Analisando de forma sucinta o SGBDOO, temos respectivamente um banco que

facilita a aproximação do mundo real, devido a trabalhar com orientação a objetos e

suas características (herança, encapsulamento, abstração, polimorfismo), um banco

que permite a manipulação de dados complexos, mesmo com desempenho inferior ao

relacional e que possui um pobre nível 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 aperfeiçoamentos, 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 parágrafo acima temos em cada tipo de SGBD citado,

vantagens e desvantagens nos mesmos. Então se notou a carência de um SGBD que

tivesse a capacidade de manipular dados complexos, que se adequasse ao paradigma

de programação atual (orientação 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 orientação a objetos em tabelas,

unindo os dois paradigmas em um só. Utiliza os conceitos de supertabelas, supertipos,

herança, reutilização de código, encapsulamento, controle de identidade de objetos

(OID), referência a objetos, consultas avançadas e alta proteção dos dados.

Com esse novo conceito surgiu à necessidade de uma linguagem padrão para o uso

com o SGBDOR. É a partir daí que nasce o SQL-3, que na verdade é uma extensão do

SQL-2 complementado com características do modelo objeto-relacional.

Alguns exemplos de aplicações que utilizam SGBDOR são os seguintes:

armazenamento de imagens (obtidas por satélite ou de alguma outra forma digital);

projetos de arquitetura; dados sobre o espaço (regiões geográficas, criação de mapas),

sistemas de informações 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 Padrão SQL3 ou SQL99

Assim como o SGBDOO e SGBDR possuem padrões de linguagem de consulta,

com a evolução do conceito objeto relacional ocorreu a necessidade da criação de

mais um padrão para manipular o mesmo, findando assim a criação do padrão SQL3

ou SQL99.

Criado em 1999 com o intuito de propor interação entre o banco de dados e

aplicações orientadas a objetos de forma mais natural, inclui novos tipos de dados,

novos operadores, suporte para a noção de objeto (OIDs, métodos, tipos de dados

estruturados definidos pelo usuário e etc.), consultas recursivas, triggers, navegação

pela estrutura dos objetos, chamada de métodos (na própria formulação 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

atômicos, pode ocorrer de objetos posuirem outros objetos ou de mais de um registro,

caracterizando o conceito de relação aninhada, onde os atributos podem ser

constituídos de outras relações e não apenas de valores atômicos.

Um conjunto de novos operadores pode ser encontrado no SQL3, alguns deles são

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 vídeos, música e etc. Possui dois subtipos que são 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 Comparação 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 aplicação e do Banco de Dados (BD). Logo, as vantagens do

BDOO vieram rapidamente à tona: possui uma abordagem flexível, facilidade de

manusear objetos complexos, trabalha com noções de objetos, classes, relacionamento

e identidade de objetos.

Entretanto, logo foram percebidas suas limitações, principalmente a relacionada ao

desempenho quando comparado com o Banco de Dados Relacional (BDR) e a falta de

fundamentação matemática, o que dificulta realizar consultas complexas. Por conta,

principalmente destas limitações, foi desenvolvido do Banco de Dados Objeto

Relacional (BDOR). Este apresenta diversas vantagens em relação ao BDOO e ao

BDR. Em poucas palavras, pode-se dizer que o BDOR surgiu para agregar as

vantagens da orientação a objetos (herança, polimorfismo, encapsulamento,

abstração) que há no BDOO, juntamente com o alto desempenho, eficiência 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

métodos de consulta do SQL3.

O BDOO possui um modelo rico de dados, ou seja, possui representação de objetos

complexos, é extensível (oferece suporte para novos tipos de dados capazes de operar

no objeto), ofereço suporte à ocultação da informação e herança. Seu ponto fraco é

seu baixo desempenho, uma vez que sua otimização de consultas é bastante

complexa, logo é perdido um tempo precioso neste processo. O BDOR oferece todas

as características citadas no parágrafo anterior, exceto a do baixo desempenho. O

BDOR possui uma otimização de consulta mais simples, e consequentemente, não

perde tanto desempenho quanto o BDOO.

Com relação ao mercado, o BDOO é voltado para aplicações de pequena escala,

por questões de desempenho. Já o BDOR busca alcançar aplicações de larga escala, a

qual é atualmente dominada pelos BDR.

Conclusão

A orientação a objetos é a tendência seja qual for a situação, o seu dilema é o fato

da perda de desempenho. Assim como primeiras linguagens de programação 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 solução foi

o BDOO, entretanto, por seu desempenho não satisfatório, um outro banco foi

desenvolvido, o BDOR, que agrega características da orientação a objetos e

otimização do BDR. O modelo objeto relacional pode ser comparado às linguagens de

programação atuais, onde apenas dados complexos são representados como objetos,

tendo assim maior desempenho.

O BDOR ainda não alcançou aplicações de larga escala, pois se trata de um banco

relativamente novo, mas como suas vantagens estão se tornando cada vez mais

evidentes, a tendência é que as empresas e aplicações que manipulam dados

complexos comecem a utilizar o BDOR e no futuro este modelo de banco de dados

tome o lugar do tradicional BDR.

Referências

1. Berz, Everton L., Wagner, Roger; Figueira, Thiago G. Sistemas Gerenciadores de Banco de

Dados Orientado a Objeto e Objeto-Relacional. Disponível 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

reflexão sobre Banco de Dados Orientados a Objetos. Disponível em <

http://conged.deinfo.uepg.br/artigo4.pdf> Acesso em 29/04/2009

3. Campos, Maria Luiza M.; Klein, Lawrence Z.; Tanaka, Astério K. A Tecnologia Objeto-

Relacional em Ambientes de Data Warehouse: Uso de Séries Temporais como Tipo de

Dado Não Convencional. Disponível em <http://www.inf.ufsc.br/sbbd99/anais/SBBDCompleto/

30.PDF>. Acesso em 29/04/2009

4. Debus, Rafael; Pittol, Eduardo; Caorsi, Nicolas. Banco de Dados Orientados a Objetos.

Disponível 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). Disponível 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. Disponível em <

http://www.cin.ufpe.br/~in940/BD-OO.pdf> Acesso em 29/04/2009

7. Mattoso, Marta; Baião, Fernanda. Bancos de Dados Orientados a Objetos e Relacionais a

Objetos. Disponível 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). Disponível 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. Disponível 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. Disponível 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). Disponível 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. Disponível em

<http://www.recope.dc.ufscar.br/recope/download/bd/apostilabdoo.pdf> Acesso em

29/04/2009

...

Baixar como  txt (18.6 Kb)  
Continuar por mais 10 páginas »