Académique Documents
Professionnel Documents
Culture Documents
Abstract. This article has the objective to describe the characteristics of the
data base Oracle with approach in orientation the Objects, being made one
foresees introduction the Orientation the Objects its concepts, its
characteristics, systems gerenciadores of data base Guided Objects, and the
orientation of the BC Oracle.
1. Introdução
O artigo tem como seu objetivo descrever a utilização da orientação a objetos no banco
de dados objeto-relaciona Oracle, descrevendo suas vantagens e desvantagens em
relação a banco de dados relacionais. O artigo está disponibilizado da seguinte forma,
uma breve introdução de OO, banco de dados orientado a objetos, vantagens e
desvantagens, as características do SGBOOS, comportamento do banco de dados
Oracle, e por fim conclusões.
2. Orientação a objetos
Orientação a objetos corresponde a organizações de objetos que fazem parte de uma
estrutura de dados e componentes, cujos seu principiais conceitos são apresentados a
seguir.
2.1. Conceitos
Objeto é uma abstração que representar algo real ou virtual. O objeto e descrito por
atributos que somente podem ser acessados por operações descritas nos métodos.
Métodos são as especificações e o comportamento dos objetos eles são
responsáveis pela manipulação do objeto no qual ele esta descrito ou de outros objetos
nos quais são filhos, eles são divididos em vários tipos, os mais comuns são os
construtores, destrutores, gets e sets.
Encapsulamento características fundamental dos objetos, no qual os atributos e
os detalhes da implementação dos métodos estão escondidos de outros objetos.
Mensagens é o meio de comunicação entre os objetos, trocar de mensagens
significa chamar um método do objeto.
Classes especificação na qual se cria os objetos. Todos os objetos criados a partir
de uma classe possuem os mesmos atributos e os mesmos comportamento da classe de
que herdou .
Overloading capacidade de existir na mesma classe métodos com o mesmo
nome, mas com argumentos diferentes.
Herança relacionamento entre classes numa hierarquia, capacidade de criar uma
nova classe a partir de uma outra existente.
Herança múltipla é quando uma classe herda características de varias subclasses.
Interface é a especificação de uma classe sem nenhuma instrução para os
métodos, ficando a cargo da classe que implementa interface definir o conteúdo dos
métodos.
Polimorfismo é a capacidade de existir diferentes implementações para métodos
com mesmo nome em diferentes classes de mesma hierarquia e herança.
3. BD com tecnologia OO
São divididos em dois grupos Pure object_oriented DBMS (ODBMS), que baseia-se
somente no modelo de dados Orientado a Objetos. Usam declarações de classes muito
semelhantes das linguagens orientadas a objetos. Ex BD Jasmini .
Object Relacional DBMS (ORDNMS) , são bancos relacionais que possibilitam o
armazenamento de objetos, permitem a relação de relacionamentos, herança , object
identifier é um identificador interno do banco para cada objeto, são atribuídos somente
pelo DBMS e não pelos usuários. Não tem padrão único de implementação como os BD
relacionais. Ex DB Oracle, Postgres, Informix, BD2, Titanium.
4. Vantagens do OO
Em relação a bancos de dados relacionais temos como vantagens qualidade do software,
reutilização, portabilidade, facilidade de manutenção, escabilidade. No relacional diversas
vezes a linguagem de programação é completamente diferente a utilizada na RDBMS.
A estrutura utilizada nos bancos e usadas na programação são diferentes não possuindo
correspondência direta. Tem necessidade de implementar a camada persistente,
utilizando maio tempo de desenvolvimento para mapear estruturas de programação em
estrutura do banco de dados. Os bancos de dados relacionais (RDBMS) usam uma
arquitetura tabular onde os dados são referenciados através de linhas e colunas, enquanto
os bancos de dados orientados a objetos (ODBMS) podem ter combinações de lógica e o
dados. Nos relacionais as tabelas são definidas (teoria da normalização) evitando a
redundância dos dados e facilitando a pesquisa e atualizações. Os orientados a objetos
possuem métodos, classes e outros mecanismos do modelo de orientação por objetos. Os
objetos são ativos já que podem conter lógica, enquanto os relacionais são passivos
necessitando de um programa para manipular os dados.
Os dados dos bancos relacionais utiliza a linguagem SQL no qual permite que os
sistemas relacionais desenvolvidos por muitos fornecedores possam se comunicar entre si
e acessar banco de dados comuns. Em contra partida, os bancos de dados orientados a
objetos não possuem uma linguagem padrão dificultando a interoperacionalidade entre os
bancos de dados de diferentes fornecedores. Para definir as tabelas dos bancos
relacionais é utilizado o processo de normalização, que consiste em definir nas tabelas
apenas os dados que sejam únicos para a entidade descrita e definindo relacionamentos
para outras tabelas também normalizadas. Os bancos relacionais estão fundamentados em
uma forte teoria matemática e ferramentas bem desenvolvidas. Enquanto os bancos
orientados a objetos não possuem um forte teoria como apoio e não existem ferramentas
que descrevam o modelo de objetos. Embora, o Jasmine da Computer Associates possua
boas ferramentas de desenvolvimento. A vantagem do banco orientado a objetos é a
lógica contida no objeto e a possibilidade de ser reutilizado várias vezes em diversas
aplicações.
5. Características de SGBDOO
Em um SGBDOO os objetos da base de dados são tratados como objetos da linguagem
de programação, possuem características de e princípios do paradigma de orientação a
objetos. Estas características serão brevemente descritas.
Persistência, os dados de um processo ou transação persistem após o término da
execução do mesmo. A persistência é requisito evidente para bases de dados, a
persistência deve permitir que qualquer objeto, independente de seu tipo, torne-se
persistente.
Gerenciamento de armazenamento secundário provê independência entre o
sistema lógico e o sistema físico. Usualmente suportada através de mecanismos de
gerenciamento de índices, fuffer de dados, seleção de caminhos de acesso, alocação de
espaço em disco, transferência de dados para a memória principal.
Controle de concorrência gerenciamento de múltiplos usuários interagindo
simultaneamente com o sistema.
Recuperação de falhas capacidade de retornar o sistema e seus dados a um
estado anterior consistente.
Mecanismo de consulta a consulta deve ser especificada através de uma
expressão de alto nível, alem de ser eficiente em termos de tempo de resposta e
independente da aplicação.
Objeto complexos, suporte a objetos grande em tamanhos e a objetos
estruturados, como tuplas, vetores e listas. Tornando-se a necessidade de suporte as
operações que manipulam estes objetos.
Identidade de objeto, cada objeto da base possui um identificador único e
imutável, gerado automaticamente pelo sistema.
Encapsulamento , o objeto da base de dados encapsula dados que definem sua
estrutura interna e operações que definem sue comportamento, a estrutura interna e a
definição do comportamento de um objeto ficam escondidas, e o objeto é acessado
através das operações pré definidas para seu tipo.
Tipos, classes e herança , suporte a hierarquias de tipos ou hierarquias de classes
através do conceito de herança , o que permitem que novos tipos sejam definidos a partir
de tipos de classes pré definidos. Os subtipos subclasses herdam os atributos e as rotinas
das superclasses, podendo no entanto possuir atributos e rotinas próprios.
Polimorfismo também chamadas de sobrecarga, permite que um mesmo nome de
operação seja utilizado para implementações diferentes, dependendo do tipo de objeto ao
qual a operação é aplicada.
Binding atrasado ou dinâmico realiza a tradução de nomes das operações em
endereços de programas em tempo de execução. O binding realizado em tempo de
compilação, ao contrario , é chamado de binding estático, o binding atrasado, embora
seja lento e dificulte a checagem de tipos é necessário para viabilizar a utilização de
sobrecarga de operações.
Extensibilidade é o conjunto de tipos pré definidos do sistema que deve ser
extensível, permitindo que o programados defina novos tipos. No entanto o tratamento
de tipos definidos pelo usuário seja diferente do sistema, esta diferença deve ser
imperceptível para o programados e para a aplicação.
A arquitetura utilizada nos SGBDOO são construídas com base me três
abordagens principais: Sistemas baseados em linguagens de programação orientadas a
objetos nos quais sua linguagem e seu banco de dados e todo voltado para o orientação a
objetos. Sistemas relacionais estendidos seu modelo de dados e relacional e linguagem de
consulta estendidos de forma a incorporar os conceitos da orientação a objetos, como no
banco de dados Postgres e Oracle. Sistemas baseados em modelos de dados orientados a
objetos é baseado em modelos de dados originalmente orientados a objetos. Os sistemas
que seguem essa abordagem são construídos a partir dos princípios do modelo de dados,
de modo a suportar os conceitos formalizados no modelo.
8. Conclusão
Após o estudo dos bancos de dados relacionais e orientados a objetos, foi notado que a
utilização de banco de dados OO tem uma grande significação em termos de velocidade,
estrutura de programação, seu código fica mais limpo sua implementação fica mais
visível , no entanto hoje temos poucos banco de dados puramente orientados a objetos,
na sua grande maioria ele são objeto_realcional.
Entrei em contato com analista de sistemas que faz toda a modelagem em OO e a
programação também voltada para OO no entanto ele desenvolveu uma ferramenta para
fazer a inserção no banco utilizando OO. "Faço a modelagem do projeto em OO,
inclusive com toda programação voltada a OO, e na camada em que a classe acessa os
dados, modelamos de forma relacional. Utilizamos uma ferramenta que projetei
chamada Dédalos escrita em Delphi que faz isso." Elci Machado Coordenador de
Informática elci@ipiranga.com.br Refinaria Ipiranga S/A. Rio Grande - RS - Brasil.
9. Referencias
http://geocities.yahoo.com.br/kellyne_se/uml/uml.htm
http://www.sdsi.uri.br/geoob/
http://www.mundooo.com.br/php/index.php
Molz, K W - "Um framework para construção de aplicações OO sobre SGBD
relacional" , Dissertação de Mestrado - UFRGS , Porto Alegre, fevereiro 1999.
http://www.javafree.com.br/home/index.php
http://www.ufpa.br/sampaio/curso_de_sbd/bdoo/apostila/per1.html
http://www.oracle.com/br/
http://www.ucb.br/latosensu/cursos/SistemasOO/Disciplinas/analise/proj/proj5.htm
http://metropole.inf.ufrgs.br/versoestempo/cmp151/MaterialAulas/aula03-
ModelosOO.pdf