banco de dados orientados a objeto.docx

5
Banco de dados: Coleção de dados que pode ser armazenada sob forma física. Esse dados representam aspectos do mundo real, seja uma instituição de pesquisa ou o mercadinho da esquina, além de um grau de coerência entre si. Ou seja, dados aleatórios não formam um BD. Nesse contexto, um SGBD é o software que cria, manipula e mantém BDs e um Sistema de banco de dados é o conjunto BD+SGBD, usualmente caracterizado por ser uma aplicação que serve de suporte a outras aplicações. Os sistemas de BD eram, inicialmente, relacionados às áreas administrativa e comercial. Com o tempo, com o seu desenvolvimento, passaram a ser usados em outras aplicações, como projetos de engenharia, automação, sistemas especialistas, entre outros. Contudo, essas aplicações necessitavam de requisitos dos bancos de dados que não eram comuns no uso tradicional, como maior volume de dados, necessidade de sua manipulação de dados em formatos não- alfanuméricos, bem como o tratamento de esquemas evolutivos e dinâmicos. Nos últimos anos, com o desenvolvimento de aplicações através de linguagens orientadas a objetos, tornou-se crescente a procura por ferramentas que auxiliem na integração do mundo orientado a objetos e o relacional, ainda maioria quando se trata da persistência de dados, como por exemplo, ferramentas de mapeamento objeto/relacional, como o Hibernate. Entretanto, nesse processo acabam-se perdendo uma série de recursos de OO, pelo fato de ser necessária uma adaptação à utilização de persistência em modelo relacional. Assim, grande parte do tempo de desenvolvimento de um software é perdida nesse mapeamento. É nesse panorama que surgem os sistemas de banco de dados orientados a objetos, com evoluções em termos de gerenciamento de dados para as mais diversas aplicações. Ao usar um banco de dados orientado a objetos, eliminamos ferramentas e códigos para mapeamento e aproveitamos os benefícios da orientação a objetos, sem a restrição de um banco de dados relacional. Bancos de dados orientados a objetos são extremamente seguros. Alguns deles são o cache, zope, GemStone, DB4Objects, entre outros.

Upload: olvioneto

Post on 11-Aug-2015

10 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Banco de dados orientados a objeto.docx

Banco de dados: Coleção de dados que pode ser armazenada sob forma física. Esse dados representam aspectos do mundo real, seja uma instituição de pesquisa ou o mercadinho da esquina, além de um grau de coerência entre si. Ou seja, dados aleatórios não formam um BD.

Nesse contexto, um SGBD é o software que cria, manipula e mantém BDs e um Sistema de banco de dados é o conjunto BD+SGBD, usualmente caracterizado por ser uma aplicação que serve de suporte a outras aplicações.

Os sistemas de BD eram, inicialmente, relacionados às áreas administrativa e comercial. Com o tempo, com o seu desenvolvimento, passaram a ser usados em outras aplicações, como projetos de engenharia, automação, sistemas especialistas, entre outros. Contudo, essas aplicações necessitavam de requisitos dos bancos de dados que não eram comuns no uso tradicional, como maior volume de dados, necessidade de sua manipulação de dados em formatos não-alfanuméricos, bem como o tratamento de esquemas evolutivos e dinâmicos.

Nos últimos anos, com o desenvolvimento de aplicações através de linguagens orientadas a objetos, tornou-se crescente a procura por ferramentas que auxiliem na integração do mundo orientado a objetos e o relacional, ainda maioria quando se trata da persistência de dados, como por exemplo, ferramentas de mapeamento objeto/relacional, como o Hibernate. Entretanto, nesse processo acabam-se perdendo uma série de recursos de OO, pelo fato de ser necessária uma adaptação à utilização de persistência em modelo relacional. Assim, grande parte do tempo de desenvolvimento de um software é perdida nesse mapeamento.

É nesse panorama que surgem os sistemas de banco de dados orientados a objetos, com evoluções em termos de gerenciamento de dados para as mais diversas aplicações. Ao usar um banco de dados orientado a objetos, eliminamos ferramentas e códigos para mapeamento e aproveitamos os benefícios da orientação a objetos, sem a restrição de um banco de dados relacional.

Bancos de dados orientados a objetos são extremamente seguros. Alguns deles são o cache, zope, GemStone, DB4Objects, entre outros.

Orientação a Objetos

Sobre o paradigma de linguagem orientada o objeto, esta teve seu início na década de 70, com a SIMULA e depois o smalltalk, que popularizou a linguagem o.o. Atualmente, temos as mais conhecidas Java, C++, C#, Ruby e Python.

Para que um modelo seja considerado orientado a objetos ele deve contem alguns conceitos: abstração, encapsulamento, herança, polimorfismo... Abstração: capacidade de modelar coisas do mundo real. Encapsulamento: evita as interferências na manipulação de dados, além de assegurá-los. Herança: reutilização de código. Polimorfismo: várias formas.

Page 2: Banco de dados orientados a objeto.docx

SGBD

Um SGBD é muito importante para as aplicações nos dias de hoje. Banco de dados são conjuntos de dados estruturados que organizam informação. Para manipular as informações que estão contidas nesse banco de dados, é utilizado um SGBD, que é responsável pelo gerenciamento dos dados. (ELMASRI, 2005)

As principais características de SGBDs são Controle de redundância, restrição a acesso não autorizado, garantia de armazenamento persistente, garantia de armazenamento de estruturas para o processamento eficiente de consultas, compartilhamento de dados, múltiplas interfaces, representação de relacionamento entre dados, backup e restauração, restrições de integridade.

Modelos de BD

Modelo hierárquico – estrutura em árvore, baseado em registros e links. Um pai pode ter vários filhos, mas um filho só pode ter um pai (inexistência de relacionamento N:N).

Modelo em rede – não existe conceito hierárquico (um registro pode estar associado a vários outros registros).

Modelo relacional – representação através de coleções de tabelas, caracterizando os domínios, cada qual com seu conjunto de dados, indivisível.

Modelo relacional-OO – Junção do modelo relacional com o modelo OO. A semântica da aplicação é modelada e representada através de objetos, mas a implementação física é relacional, através de tabelas.

Banco de dados Orientado a Objetos

Cada informação é armazenada na forma de objetos e só pode ser manipulada através dos métodos definidos pela classe a qual o objeto pertence. Uma das questões que leva à utilizar este modelo é o fato de que bancos de dados relacionais tornam difícil o trabalho com dados complexos. Além disso, quando se trata de aplicações construídas em linguagens orientadas a objetos, o código precisa ser traduzida para que o banco de dados relacional entenda.

Esse modelo ganhou espaço como banco de dados espaciais, de telecomunicações, áreas científicas, como biologia molecular, mas não teve muitos impactos nas áreas comerciais.

Oferece aumento de produtividade, segurança e facilidade de manutenção.

Em 2004 houve um aumento do uso de BDOO, devido ao surgimento de BDOOs livres. Houve também uma padronização da linguagem de consulta para objetos, a OQL. Como o acesso é feito diretamente ao objeto, ele pode ser bem mais rápido. O BDOO oferece suporte a versões.

Os críticos afirmam que o modelo relacional é fortemente baseado em fundamentos matemáticos, facilitando a consulta. Por outro lado, o modelo OO não, o que pode prejudicar as consultas. Há

Page 3: Banco de dados orientados a objeto.docx

também a discussão da dificuldade de implementar o encapsulamento, já que: como seriam feitas as consultas sem que se pudesse ver os atributos?

Estruturas e Características

O objeto é formado por uma tripla: o OID, o construtor (que tipo de valor ele irá receber) e o próprio valor. Sendo assim, ele receberá apenas valores dos que foram definidos pra ele.

O encapsulamento não pode ser aplicado rigorosamente. Desse modo, a estrutura interna do objeto é escondida e os usuários conhecem apenas a interface do tipo de objeto, como os parâmetros de cada operação relacionada a ele.

O SGBDOO permite salvar objetos grandes e depois recuperá-los facilmente. São considerados não estruturados porque não conhecem sua estrutura. Ele não é capaz de processar diretamente condições de seleções e outras operações de objetos, a não ser que esses dados sejam passados ao banco para que ele saiba como tratar os objetos.

Bando de Dados OO no mercado

Caché Versant – bastante utilizado em telecomunicações, redes de transporte, áreas médicas e

financeiras. DB4Objects – usa linguagem OQL e é disponibilizado em duas licenças: uma GPL e outra

comercial. O2 – Linguagens de consulta: O2Query e OQL. Gemstone – Linguagem DML. Jasmine Matisse Ozone – open source

Object Definition Language – ODL – Linguagem de definição de dados

A ODL é independente de qualquer linguagem de programação em particular. Seu objetivo é criar especificações de objetos. Ela permite que o usuário especifique um banco de dados independente da linguagem de programação

Object Query Language – OQL

É a linguagem de consulta a BDOO, provendo suporte ao tratamento de objetos complexos, métodos, herança e polimorfismo. É projetada pra trabalhar acoplada a linguagem de programação, garantindo compatibilidade entre os tipos. Não fornece operadores para atualização, mas pode chamar operações do objeto que realizem essa tarefa.

Page 4: Banco de dados orientados a objeto.docx

Conclusões

A manipulação de objetos nativamente aumenta a performance e o desempenho em aplicações, além da redução de tempo no próprio desenvolvimento, onde o tempo gasto com ferramentas de tradução objeto-relacional não existe, eliminando a complexidade e a limitação que é imposta ao desenvolvimento. Entretanto, por ser um novo paradigma, muitos ainda relutam na migração.