Você está na página 1de 21

SUMRIO

1. INTRODUO.........................................................................................................1
1.1. BANCO DE DADOS RELACIONAL......................................................................1
1.2. BANCO DE DADOS ORIENTADO A OBJETO.....................................................2
1.3. BANCO DE DADOS OBJETO-RELACIONAL......................................................7
1.4. BANCO DE DADOS RELACIONAIS X BANCO DE DADOS ORIENTADO A
OBJETOS.................................................................................................................... 8
1.5. OBJETIVOS..........................................................................................................9
1.6. MOTIVAO.........................................................................................................9
2. VISO GERAL DOS CONCEITOS DE ORIENTAO A OBJETOS.......................9
2.1. HISTRICO BANCO DE DADOS RELACIONAL OR - OO....................................10
2.2. CONCEITOS BSICOS......................................................................................12
2.2.1. OBJETO...........................................................................................................12
2.2.2. IDENTIDADE DE OBJETO..............................................................................12
2.2.3. ATRIBUTO....................................................................................................... 12
2.2.4. OPERAO.....................................................................................................13
2.2.5. INSTNCIA......................................................................................................13
2.2.6. CLASSE...........................................................................................................13
2.2.7. MTODO......................................................................................................... 13
2.2.8. ENCAPSULAMENTO...................................................................................... 13
2.2.9. ESPECIALIZAO, GENERELIZAO E HERANA....................................13
2.2.10. POLIMORFISMO...........................................................................................14
2.2.11. ABSTRAO................................................................................................. 15
2.2.12. SUPERCLASSE SUBCLASSE...................................................................15
2.3. DIAGRAMA DE CLASSES..................................................................................15
2.4. MAPEAMENTO...................................................................................................17
3. MODELO DE OBJETOS ODMG............................................................................17
3.1. ODL LINGUAGEM DE DEFINIO DE OBJETOS........................................18
3.2. OQL LINGUAGEM DE CONSULTA DE OBJETOS........................................19
4. CONCLUSO........................................................................................................ 20
5. REFERNDIAS BIBLIOGRAFICAS.......................................................................21
6. BIBLIOGRAFIA COMPLEMENTAR.......................................................................21

LISTA DE ILUSTRAES E TABELAS

Figura 1 - Histrico de Evoluo dos Modelos e SGBDs...........................................12


Figura 2 - Classes Carro e Barco Especializadas em Veculo...................................14
Figura 3 - Classes Carro e Barco Especializadas em Veculo...................................15
Figura 4 - Diagrama de Classes..................................................................................16
Figura 5 Utilizao do Modelo Relacional................................................................17
Figura 6 - Comparao entre os Diagrama E-R / Diagrama de Classes....................17
Figura 7 - Mapeamento de classes.............................................................................18
Figura 8 - ODL - Definio de Classes (estrutura)......................................................19
Figura 9 - Comparao entre OQL e SQL..................................................................19
Tabela 1 - Informaes bsicas sobre os principais SGBDOOs atuais........................7
Tabela 2 - Resumo da contribuio das vrias disciplinas.........................................20

LISTA DE ABREVIATURAS, SIGLAS E SMBOLOS

BD

Banco de Dados

BDR

Banco de Dados Relacional

BDOO Banco de Dados Orientado a Objeto


BDOR

Banco de Dados Objeto-Relacional

DB

Database

DDL

Data Definition Language

DML

Data Manipulation Language

DBMS

Database Management System

CAD

Computer Aided Desing

CAM

Computer Aides Manufacturing

CIM

Computer integrated manufacturing

DER

Diagrama Entidade-Relacionamento

LPOO

Linguagem de Programao Orientada a Objeto

MER

Modelo Entidade-Relacionamento

ODL

Object Definition Language

ODMG Object Data Management Group


OID

Object Identifier

OQL

Objetct Query Language

OO

Orientao a Objeto

OR

Objeto Relacional

RDBMS Relational Database Management System


SGBD

Sistema Geenciador de Banco de Dados

SGBDR Sistema Gerenciados de Banco de Dados Relacional


SQL

Struct Query Langage

TAD

Tipo Abstrato de Dados

UML

Unifed Modeling Language

1 Introduo
A metodologia e programao orientada a objeto alteraram radicalmente a forma
de programar desde sua criao. A crescente necessidade de manipulao de dados
complexos e modelagem/simulao dos dados do mundo real fizeram com que a
tecnologia OO se unisse aos SGBDs.
Atualmente, o armazenamento de informaes no-convencionais como
multimdia, dados geogrficos, dentre outros, requerem solues que vo alm do
modelo relacional. Tcnicas da programao OO que se mostraram extremamente
teis na prtica como herana, polimorfismo e encapsulamento e que no estavam
presentes no modelo relacional geravam um esforo extra no mapeamento do
modelo de dados da aplicao para camada de persistncia num efeito chamado de
descasamento de impedncia (impedance mismatch).
Uma nova tecnologia conhecida como BDOR (Banco de Dados ObjetoRelacional) tem surgido combinando caractersticas da OO e a recuperao
otimizada de dados dos Bancos de Dados Relacionais.

1.1. Banco de Dados Relacional


O modelo relacional foi formalmente proposto por Dr. E.F Codd em 1970. O
modelo relacional composto de n relaes na forma de tabelas bi-dimensionais
onde as linhas representam os elementos daquela relao e as colunas os atributos.
um modelo baseado em extenses matemticas do modelo relacional.
Cada atributo tem um tipo (bsico) de dados (i.e inteiro, float, char..) e no
permitido agregao dos mesmos. Os dados so armazenados seguindo algumas
regras predefinidas pelo projetista do banco.
Estas regras so chamadas de restries. Estas restries podem ser de
domnio, chave, integridade de entidade e restries de integridade referencial.
Estas restries garantem a consistncia do banco.
O padro definido para o BDR o SQL (ANSI 1986) ou SQL1 ou tambm SQL86. Uma verso revisada chamada de SQL-2 ou SQL-92. SGBDRs usam o SQL
como linguagem de definio de dados (DDL) e de manipulao de dados (DML).
SQL inclui comandos para manipulao, consulta e criao de dados (esquemas,
tabelas, vises...) e especificao de restries. As consultas podem variar desde
consultas simples em uma nica tabela a mltiplos joins entre tabelas e consultas

aninhadas. A principal desvantagem do modelo relacional no oferecer suporte a


tipos de dados mais complexos como multimdia e dados espaciais.

1.2. Banco de Dados Orientado a Objeto


A necessidade de representar objetos complexos levou ao desenvolvimento de
sistemas orientado a objeto. O conceito de TADs (Tipos Abstratos de Dados) onde a
estrutura interna dos dados oculta e operaes externas podem ser aplicadas ao
objeto denotam o conceito de encapsulamento. Encapsulamento pode ser pensado
como uma camada que protege o cdigo e os dados de serem acessados por outro
cdigo definido fora da camada.
O processo pelo que um objeto herda caractersticas e comportamentos de
outro objeto previamente definido chamado de herana. Polimorfismo permite que
o mesmo operador ou mtodo tenham diferentes implementaes a depender do
tipo de objeto no qual o operador ou mtodo aplicado.
Uma

modelagem

orientada

objeto

deve

contemplar

as

seguintes

caractersticas:
1. Deve prover representao de objetos complexos
2. Deve ser extensvel, ou seja, deve prover suporte para definio de novos
tipos de dados e mtodos que so capazes de operar no objeto.
3. Deve dar suporte a ocultao da informao.
4. Deve dar suporte a herana. Os objetos num BDOO devem derivar de um
objeto raiz ou um sub-objeto deste objeto raiz.
O BDOO supre estas caractersticas. O calcanhar de Aquiles do BDOO sua
pobre performance. Ao contrrio do BDR, a otimizao de consultas extremamente
complexa.

Nome

Open
Source

Principais SGBDOOs do mercado


Sistema
Fabricante
Site Oficial
Operaciona
l

EnterpriseDB

Objectivity/D
B

SIM

NO

HP-UX ,
Linux,
MacOs,
Solaris e
Windows
Linux,
Windows e
MAc

EnterpriseDB

Objectivity
Database
Systems

http://www.enterprisedb.co
m/

http://www.objectivity.com

Windows,
UNIX e
Linux
Windows e

GemStone
System Inc.

http://www.gemstone.com

Unixspace

http://www.contextsoft.com/

Versant Corp.

http://www.versant.com

Intersystems
Software

http://www.intersystems.co

GemStone

NO

ConteXT

NO

Versant

NO

Cach

NO

EyeDB

SIM

Linux

Sysra
Informatique

http://www.eyedb.org/

Jasmine

NO

Windows,
Linux e
UNIX

Computer
Associates

http://www3.ca.com/

ORION

SIM

Linux e UNIX

Orion Group
(Purdue
University)

http://orion.cs.purdue.edu/

ObjectStore

NO

Windows,
Linux e
UNIX

Progress
Software

http://www.objectstore.com

UNIX
Windows,
Linux e
Unix
Windows,
Linux e
UNIX

m.br

Tabela 1 - Informaes bsicas sobre os principais SGBDOOs atuais

1.3. Banco de Dados Objeto-Relacional


O uso de bancos de dados orientados a objeto um fator emergente que
integra bancos de dados e tecnologia de orientao a objeto. Por um lado, a
necessidade de realizar manipulaes complexas em bancos de dados existentes as
novas geraes de aplicaes de bancos de dados geralmente requisitam mais
diretamente um banco de dados orientado a objeto. Por outro lado, aplicaes de
linguagens orientadas a objeto e sistemas esto exigindo capacidades de bancos de
dados, tais como continuidade, simultaneidade e transaes, dos seus ambientes.
Estas necessidades esto levando criao de sistemas poderosos, chamados de
dados orientados a objeto.
Os bancos de dados orientados a objeto iniciaram-se primeiramente em
projetos de pesquisa nas universidades e centros de pesquisa. Em meados dos
anos 80, eles comearam a se tornar produtos comercialmente viveis. Hoje, eles
so mais de 25 produtos no mercado que podem ser caraterizados como produtos
de bancos de dados orientados a objeto. Alm disso, os comerciantes de bancos
de dados relacionais esto comeando a incorporar caractersticas de orientao a
objeto em seus produtos de prxima gerao baseados em SQL.

1.4. Bancos de Dados Relacionais X Bancos de Dados Orientados


a Objetos
BDRs e BDOOs possuem caractersticas distintas mas basicamente servem
ao mesmo propsito: persistir dados necessrios para a manuteno do negcio
para o qual so aplicados, possibilitando a recuperao, comparao e tratamento
desses dados a fim de produzir resultados tangveis.
Em BDR, uma coleo de tabelas, todas com nomes nicos, compem a
base de
dados, podendo estar relacionada a uma ou mais tabelas. Conceitos como
integridade referencial de dados que garantem que um dado referenciado em uma
tabela esteja presente na tabela que est sendo referenciada e chaves primrias
esto presentes e garantem que um conjunto de informaes possa ser
representado de maneira consistente, independente da forma de acesso.
J um BDOO possui trs pilares principais: herana, polimorfismo e
encapsulamento, discutidos a seguir. Este modelo apresenta maior flexibilidade na
manipulao de seu contedo e por meio de identificadores de objetos manipula os
dados de forma consistente.
Silbeschatz et. al. (2001) concluem que as bases de dados tradicionais so
bastante eficientes para tarefas ligadas ao processamento de dados. A gerao de
folhas de pagamento e o gerenciamento de contas correntes, so exemplos. Esse
tipo de aplicao trabalha basicamente com tipos de dados simples: numricos,
texto e datas. Alm disso, essas aplicaes possuem itens de dados que podem ser
representados como registros razoavelmente pequenos e campos atmicos.
Apesar do conceito de bancos de dados orientados a objetos ser bastante
distinto do modelo relacional, o mesmo resulta da integrao entre a orientao a
objetos e a tecnologia de banco de dados tradicionais. Enquanto na programao
orientada a objetos, os objetos existem apenas enquanto o programa que os criou
est em execuo, os bancos de dados orientados a objetos podem criar objetos
que sejam persistentes e compartilhados entre diferentes aplicativos.

1.5. Objetivos

Este trabalhdo apresenta uma viso geral dos conceitos bsicos de


orientao a objetos e tambm a principais caractersticas dos bancos de dados
Orientados a Objetos e Bancos de dados Objeto-Relacional.
Abordar os conceitos de identidade de objeto, estrutura de objeto e tipos
construtores.

1.6. Motivaes
Modelos de dados e sistemas tradicionais, como relacionai, rede e
hierrquico, foram muito bem-sucedidos no desenvolvimento da tecnologia de banco
de dados necessria para a maioria das aplicaes convencionais de bancos de
dados comerciais. Entretanto, eles tm algumas limitaes quando aplicaes de
bancos de dados mais complexas devem ser projetadas e implementadas como,
por exemplo, bancos de dados para projetos de engenharia e manufatura
(CAD/CAM e CIM ), experimentos cientficos, telecomunicaes, sistemas de
informaes geogrficas e multimdia.
Essas novas aplicaes tm requisitos e caractersticas que as diferenciam
das tradicionais aplicaes comerciais, como estruturas complexas para objetos,
transaes de longa durao, novos tipos de dados para armazenamento de
imagens ou textos longos, e a necessidade de se definir operaes no
convencionais especficas da aplicao.
Os bancos de dados orientados a objetos foram propostos para atender s
necessidades dessas aplicaes mais complexas. A abordagem orientada a objetos
oferece a flexibilidade para lidar com alguns desses requisitos sem estar limitada
pelos tipos de dados e linguagens de consulta disponveis em sistemas de bancos
de dados tradicionais. Uma caracterstica-chave dos bancos de dados orientados a
objetos o poder dado ao projetista para especificar tanto a estrutura de objetos
complexos quantoas operaes que podem ser aplicadas a esses objetos. (Elmasri,
Ramez-, 2005-Pag. 459)

Viso Geral dos Conceitos de Orientao a Objetos


O termo orientado a objetos abreviado como OO ou O-O tem sua origem

nas linguagens de programao OO, ou LPOOs. Atualmente, esse conceitos so


aplicados nas reas de bancos de dados, engenharia de software, bases de

conhecimento, inteligncia artificial e sistema computacionais em geral. As LPOOs


tm suas razes na linguagem SIMULA (Lingugagem de programao onde foram
introduzidos os conceitos de classe e herana), que foi proposta no final dos anos
60. Na SIMULA o conceito de uma classe agrupa a estrutura de dados interna de um
objeto em uma declarao de classe.
Subseqentemente os pesquisadores propuseram o conceito de tipo abstrato de
dados, que oculta as estruturas internas de dados e especifica toda as possveis
operaes externas aplicveis a um objeto, conduzindo ao conceito de
encapsulamento. A linguagem de programao SMALLTALK, desenvolvida pela
Xerox PARC nos anos 70, foi uma das primeiras a incorporar explicitamente concei
tos de OO adicionais, como troca de mensagens e herana. Conhecida como
linguagem de programao OO pura, ela fo explicitamente projetada para ser
orientada a objetos, contrapondo-se s linguagens de programao OO hbridas,
que incor poram conceitos OO em uma linguagem j existente. Um exemplo dessa
ltima C+ + , a qual incorpora conceitos OO popu lar linguagem de programao
C.
Um

objeto

possui,

tipicamente,

dois

componentes:

estado

(valor)

comportamento (operaes). Assim, similar a uma varivel de programa em uma


linguagem de programao, exceto que geralmente ter uma estrutura de dados
complexa bem como operaes especficas definidas pelo programador. Objetos em
uma LPOO existem somente durante a execuo de programa e so chamados
objetos transientes. Um banco de dados OO pode estender a existncia de objetos
de modo que sejam armazenados de forma permanente; portanto, os objetos
continuam aps o trmino do programa, podendo ser posteriormente recuperados e
compartilhados por outros programas.

2.1. Histrico Banco de Dados Relacional OO e OR


H pouco tempo atrs, software e hardware estavam to prximos que se
dizia que "software is shipped free with hardware". Essa situao foi evoluindo at
que em 1968, o primeiro gerenciador independente de banco de dados foi
introduzido,

marcando

descolamento,

desenvolvimento, do software e do hardware.

em

termos

comerciais

de

Outros bancos de dados (gerenciadores de) foram surgindo, adotando


estruturas hierrquicas e assemelhadas, at que no final dos anos 70, surgiu um
novo modelo - o modelo relacional, que por suas caractersticas de flexibilidade,
entre outras, tornou-o extremamente atrativo para os usurios. O desenvolvimento
de sistemas ficou mais fcil, e os bancos de dados relacionais rapidamente
tornaram-se o padro aceito pela indstria; pode-se dizer que desde o final dos anos
80, a maioria absoluta das aplicaes foi desenvolvida "em cima" dos DB
relacionais.
No entanto, medida em que o uso de computadores se expandiu, diferentes
trabalhos passaram a ser executados com a utilizao dos mesmos - tornou-se
necessrio trabalhar com diferentes tipos de dados, como sons, imagens, etc.
Rapidamente se compreendeu que o trabalho com esses tipos de dados
necessitaria de um suporte diferente em termos de gerenciadores de bancos de
dados, de linguagens e, por conseqncia, de tcnicas de desenvolvimento.
Nos dias de hoje, tabelas seguem sendo o melhor meio para se armazenar
dados acerca das vendas ou da folha de pagamento de uma empresa, pois esses
dados tendem a ser bidimensionais por natureza - agora, se adicionarmos a eles
uma foto ou uma impresso digital, por exemplo, uma tabela comea a ser
inadequada para esse fim - lembrando que todo software uma abstrao ou
modelo de alguma coisa do mundo real, podemos dizer que a tecnologia OO torna
possvel refletir mais claramente essas realidades.
Os conceitos OO comearam a se solidificar nos anos 60/70 - sistemas
comerciais tornaram-se disponveis na segunda metade dos anos 80, quando
Smalltalk e C++ tornaram-se realidade, vindo logo a seguir os bancos de dados e as
tcnicas OO, das quais h hoje uma grande variedade, como se ver mais frente.
Mais a ttulo de curiosidade, pode-se dizer que o termo OO foi criado nos
anos 70, durante o desenvolvimento do SmallTalk, no centro de pesquisas da Xerox
em Palo Alto, Califrnia.

Figura 1 Histrico de Evoluo dos Modelos e SGBDs

2.2. Conceitos Bsicos


2.2.1.

Objeto
Qualquer coisa, real ou abstrata, a respeito da qual armazenamos dados e

mtodos que os manipulam ( Martin, Odell, 1995)


Objeto um conceito, uma abstrao ou uma coisa, com limites e
significados bem definidos em relao ao problema considerado.

2.2.2.

Identidade de Objeto
Conhecido como OID. a propriedade de um objeto que distingue cada objeto

dos outros. Com a identidade de objeto os objetos podem conter ou se referir a


outros objetos.

2.2.3.

Atributo
Um atributo corersponde a alguam propriedade de interesse que ajudua a

descrever um entidade. (Elmasri, Ramez et al, Fundamentals of database systens


-4Th ed. Pag.27)
Atributo so valores dos dados que caracterizam os objetos. Um atributo tem um
valor nico para um objeto.

2.2.4.

Operao
Operao uma ao ou transformao realizada por um objeto ou sofrida

por um objeto.

2.2.5.

Instncia
Cada objeto uma instncia da classe a que pertence. Cada instncia de

uma classe tem os mesmos tipos de atributos, mas os seus valores podem ser
diferentes. Cada instncia de uma classe executa as mesmas operaes.
2.2.6.

Classe
A classe define a estrutura e o comportamento dos objetos, e todos os

objetos desta tm a mesma estrutura (conjunto de atributos) e comportamento


(conjunto de operaes) da classe a que pertencem. (Jacobson et al, 1992)
a descrio de um grupo de objetos com propriedades (Atributos)
semelhantes, com comportamentos (operaes) comuns e com os mesmos tipos de
relacionamentos com outros objetos.
2.2.7.

Mtodo
Os mtodos especificam a maneira pela qual os dados de um objeto so

manipulados. Assim, um objeto tem suas propriedades representadas pelos tipos de


dados e seu comportamento representado pelos mtodos.
2.2.8.

Encapsulamento
Neste mecanismo,a a infomro que possivelmente pode ser alterada esta

escondida dentro do objeto. Desta Forma, vrias verses do mesmo componente


podem ser construdas com a mesma interface e, assim, a varianete esta escondida
dentro de cada verso o componnente (GOMMA, 2005), (SCHNIDERS,2006)
2.2.9.

Especializao, Generelizao e Herana


A generalizao refere-se ao relacionamento entren as classes enquanto a

Hernaa refere-se ao mecanismo do compartilhamento de atritibutos e operaes


utilizando o relacionamento de generelizao.

10

A Generelizao deriva do fato de que a superclasse generealiza as


subsclases. Especializao refere-se ao fato de que as subclasses refinam ou
especializam a superclasse
Uma classe pode ser derivada de outra classe, em um processo conhecido
como especializao. Por exemplo, a classe Veculo exibida na Figura 2 um molde
para quaisquer objetos veculo que se necessite criar. Cada objeto deve ser nico e
se torna uma instncia da classe qual pertence

Figura 2 - Classes Carro e Barco Especializadas em Veculo


2.2.10.

Polimorfismo
Trata-se da possibilidade que uma mesma operao possui de atuar de

modos diferentes em classes diferentes. Isto possvel quando uma


operao esteja declarada em classes diferentes, porm com o mesmo
nome,

executando

processamentos diferentes para atender os requisitos

semnticos de sua classe.


A partir da classe Veculo, considere uma nova classe Barco, como na Figura
3. Os comportamentos (mtodos) Move e Para so comuns s trs classes. Quando
o programa estiver em execuo, se o mtodo Move for invocado na classe Veculo,
as especificidades de cada uma das classes sero utilizadas a fim de causar o efeito
desejado, independente de qual seja essa classe, mas pelo tipo da instncia do
objeto.

11

Figura 3 - Classes Carro e Barco Especializadas em Veculo


2.2.11. Abstrao
Ressalta os apectos essenciais de uma entidade e ignora as propriedades
no relavantes para o enfoque considerado.
Mecanismo utilizado na anlise de um domnio. Atravs dela, o indivduo
observa a realidade e dela abstrai entidades, aes, etc. consideradas essenciais
para uma aplicao, excluindo todos os aspectos julgados irrelevantes.
2.2.12. Superclasse Subclasse
Subclasse toda classe que herda de uma superclasse. Geralmente a
subclasse especializa a superclasse.
Uma subclasse pode ser superclasse de outra classe. A Subclasse estende a
superclasse, herda suas features e adiciona novas.

2.3. Diagrama de Classes


O diagrama de classes descreve as classes de objetos do sistema, seus
atributos, operaes e relacionamentos. Este diagrama lista todos os conceitos do
domnio que sero implementados no sistema.
O diagrama de classe muito importante porque define a estrutura do sistema
a desenvolver ele representa os dados manipulados e armazenados pelos
programas de acordo com os conceitos de Orientao a Objetos.

12

A notao fortemente baseada no Diagramas Entidade-Relacionamento de


Peter Chen. Deve-se observar que o Diagrama de Classes privilegia a descrio
segundo o paradigma OO.
Ao utilizar um banco de dados orientado a objetos, existe a possibilidade da
utilizao de um mesmo modelo de classe gerado para o desenvolvimento da
aplicao na criao do banco de dados, conforme visto na Figura 4. Geralmente,
esse modelo desenvolvido em UML.

Figura 4 - Diagrama de Classes


Essa abordagem ocasiona vantagens, especialmente, no tocante s alteraes
de negcio que podem ocorrer durante a anlise de um sistema. Segundo Loomis
(1992), o projeto de bases de dados relacionais , em essncia, um processo de
tentar descobrir como representar objetos do mundo real dentro dos limites de
tabelas, de tal maneira que seja obtido um bom desempenho e que a integridade
dos dados seja garantida. O projeto de bases de dados orientadas a objeto um
tanto diferente. Na maioria das vezes, o projeto de um BDOO parte do projeto
geral da aplicao.
As classes de objetos usadas pelas linguagens de programao so as
mesmas usadas no modelo de dados. Devido ao fato de seus modelos serem
consistentes, no existe a necessidade de transformar o modelo de objeto para algo
que unicamente utilizado pelo gerenciador da base de dados, como ilustra a Figura
5. Ou seja, nenhum mapeamento, como exposto em (Singh et. al., 2004) se faz
necessrio.

13

Figura 5 Utilizao do Modelo Relacional

2.4. Mapeamento
Em uma primeira impresso os modelos Relacional e Orientado a Objetos
podem parecer muito semelhantes. A figura 36mostra a comparao entre o
diagrama E-R e o cliagrama de classes:

Figura 6 - Comparao entre os Diagrama E-R / Diagrama de Classes


Neste contexto a UML surgiu como uma proposta de ser uma linguagem para
modelagem de dados que usa diversos artefatos para representar o modelo de
negcio ; um destes artefatos o diagrama de classes.

Modelo de Objetos ODMG


O modelo de objetos ODMG um modelo de dados no qual se baseiam a

linguagem de definio de objetos (ODL) e a linguagem de consulta a objetos

14

(OQL). De fato, esse modelo de objetos fornece os tipos de dados, os tipos


construtores e outros conceitos que podem ser utilizados na ODL para especificar
esquemas de bancos de dados de objetos.
Assim, ele deve fornecer um modelo de dados padro para banco de dados
orientados a objetos, da mesma forma que o SQL descreve um modelo de dados
padro para bancos de dados relacionais. Ele tambm fornece uma terminologia
padronizada em um contexto no qual s vezes so utilizados os mesmos termos
para descrever conceitos distintos. A figura 7 mostra o mapeamento de classes entre
o modelo UML e o modelo ODMG.

Figura 7 Mapeamento de classes

3.1. ODL Linguagem de Definio de Objetos


A ODL projetada para dar suporte aos construtores semnticos do modelo de
objetos ODMG e independente de qualquer linguagem de programao em
particular. Seu principal uso consiste em criar especificaes de objetos isto ,
classes e interfaces. Assim, a ODL no uma linguagem de programao completa.
Um usurio pode especificar um esquema de banco de dados em ODL
independentemente de qualquer linguagem de programao, para ento utilizar o
binding especfico com a linguagem para especificar como os componentes em ODL
podem ser mapeados para componentes em linguagens de programao
especficas, como C+ + , SMALLTALK e
A sintaxe e os tipos de dados da ODL devem ser compatveis com a
linguagem de definio de interface (IDL) do CORBA (Common Object Request
Broker Architecture) com extenses para relacionamentos e outros conceitos de
bancos de dados. A figura 8 mostra um exemplo de definio de estrutura de classe

15

Figura 8 ODL - Definio de Classes (estrutura)

3.2. OQL Linguagem de Consulta de Objetos


A linguagem de consulta de objetos (OQL) proposta para o modelo de objetos
ODMG. projetada para trabalhar acoplada com as linguagens de rogramao com
as quais o modelo ODMG define um binding, como C++, SMALLTALK e JAVA.
Assim, uma consulta OQL embutida em uma dessas linguagens de programao
pode retornar objetos compatveis com o sistema de tipos dessa linguagem. Alm
disso, as implementaes das operaes de classe em um esquema ODMG podem
ter seus cdigos escritos nessas linguagens de programao.
A sintaxe OQL para consultas semelhante sintaxe da linguagem padro de
consulta relacional SQL, com caractersticas adicionais para conceitos ODMG, como
identidade de objetos, objetos complexos, operaes, herana, polimorfismo e
relacionamentos. A figura 9 mostra um exemplo da lingaugem OQL comparada com
a linguagem SQL

Figura 9 Comparao entre OQL e SQL

4 Concluso

16

Os conceitos de orientao a objeto tem sido largamente aplicada em vrias


disciplinas relacionadas com computao, especialmente aquelas que envolve
programao complexas e problemas de projeto. A tabela 2 resume algumas das
contribuies para a orientao a objeto das vrias disciplinas relacionadas com
computao.
rea

relacionada

a Contribuies para a Orientao a Obejto

Computao
Linguagem de programao

Reduo do nmero de linhas de cdigo


Diminuio do tempo de desenvolvimento
Aumento da reusabilidade de cdigo
Mais fcil a manutano do cdigo

Amento da produtividade do programador


Interface de usurio grfica Aumento na habilidade de criar interface easy-to-use
(GUI)

Sistemas mais amigveis para usurio final

Banco de dados

Facilita a definio de padres


Suporta tipo abstrato de dados
Suporta objetos complexos

Projeto

Suporte a multimdia
Captura mais a semntica dos modelos de dados

Sistema Operacional

Representa melhor o mundo real


Aumento
da
portabilidade

do

sistema,

consequentemente melhora a interoperabilidade do


sistema

Tabela 2 - Resumo da contribuio das vrias disciplinas


Hoje em dia os SGBDRs esto fortemente consolidados no mercado de
trabalho. Porm com o desenvolvimento das LPOOs, cada vezmais necessrio a
utilizao de um SGBDOO,que por sua vez ainda precisam amadurecer.
Enquanto isso, a utilizao de um SGBDOR vem se tornando uma alternativa
de grande relevancia para quem quer o melhor dos dois paradigmas.
A unio das duas abordagens, programaco orientada a objeto e banco de
dados relacionais prov a base dos bancos de dados objeto-relacional.
H grandes obstculos a serem superados, da o domnio dos sistemas de
bancos de dados relacionais no mercado.
Atualmente,

BDOO

bastante

utilizado

em

mercados,

como

telecomunicaes, finanas e sade e mesmo assim, em um nmero reduzido de

17

aplicaes. Contudo, sua utilizao como repositrio de dados multimdia ou de


outros tipos de dados complexos, tem potencial para elevar o nvel de utilizao
dessa tecnologia.

5 Referncias Bibliograficas
[1] CODD, T. (1970). A Relational Model of Data for Large Shared Data Banks.
Communications of the ACM, Vol. 13, No. 6, June 1970.
[2] Elmasri, Ramez. Fundamentals of database systems. Rames Elmasri e Shamkant
B. Navathe Edio Traduzida So Paulo. Person Addison Wsley,2005.
[3] LOOMIS, Mary E.S. ODBMS vs. Relational. Journal of Object-Oriented
Programming Focus On ODBMS, pg. 35, 1992.
[4] SILBERSCHATZ, A.; KORTH, H. F. and SUDARSHAN, S. (2001). Database
System Concepts, McGraw-Hill, 4th edition.
[5] Subieta, Kazimierz Object Database Systems - Institute of Computer Science,
Polish Academy of Sciences, Warszawa, Poland Disponvel na URL:
www.ipipan.waw.pl/~subieta/.../PjwstkSem.doc. Data de ultimo acesso: 28/04/2012

6 Bibliografia Complementar
Andr de A. Fonseca, Antonio de A. Souza Neto, Lucas T. de Souza, Tasso L.
Dourado (2007) Banco de Dados Objeto-Relacional (BDOR), In: Graduaao,
Universidade Federal da Bahia.
Cache - Site Oficial. Disponvel na URL: http://www.intersystems.com.br Data de
ltimo acesso: 29/04/2012
.
ConteXT - Site Oficial. Disponvel na URL: http://www.contextsoft.com/ Data de
ltimo acesso: 29/04/2012.
EnterpriseDB - Site Oficial. Disponvel na URL: http://www.enterprisedb.com Data de
ltimo acesso: 29/04/2012.
EyeDB - Site Oficial. Disponvel na URL: http://www.eyedb.org/ Data de ltimo
acesso: 29/04/2012.

18

Jasmine - Site Oficial. Disponvel na URL: http://www3.ca.com/ Data de ltimo


acesso: 29/04/2012.
GemStone - Site Oficial. Disponvel na URL:http://www.gemstone.com Data de
ltimo acesso: 29/04/2012.
ObjectStore - Site Oficial. Disponvel na URL: http://www.objectstore.com Data de
ltimo acesso: 29/04/2012.
Objectivity, Inc - Site Oficial. Disponvel na URL: http://www.objectivity.com Data de
ltimo acesso: 29/04/2012.
ORACLE CORPORATION. Site Oficial. Disponvel na URL: http://www.oracle.com.
Data de ltimo acesso: 03/05/2012.
ORION - Site Oficial. Disponvel na URL: http://orion.cs.purdue.edu/ Data de ltimo
acesso: 29/04/2012.
Versant - Site Oficial. Disponvel na URL: http://www.versant.com Data de ltimo
acesso: 29/04/2012.
WEIDLER, V. (2004). Database Comparisons: An Overview. Disponvel na URL:
https://www.courses.psu.edu/its_training/free_seminars/Database/Database
%20Comparisons_Overview/Database. Data de ltimo acesso: 02/05/2012.