Escrito em May 25th, 2009 as 12:00 am por Guilherme Bacellar

0 Comentários

Vamos falar um pouco sobre um banco de dados orientado a objetos chamado DB4O (DB4Objects).

Este banco de dados opensource (http://www.db4o.com/) permite que objetos possam ser armazenados diretamente na estrutura de persistência.

Ele funciona em 2 modos:

  1. Arquivo – Permite uso local (sem servidor), parecendo um MDB, só que orientado a objetos.
  2. Cliente/Servidor – O Componente permite criar e consumir um servidor, fornecendo assim mais flexibilidade de uso e distribuição.

Você pode se perguntar porque utilizar um banco de dados orientado a objetos.

Bom, a resposta é tão simples e tão complicada quando os motivos de utilização de banco de dados relacional.

A grande questão (ao meu ver) é a mudança de paradigma, que já está em processo de mudança com os frameworks ORM (Mapeamento Objeto Relacional), que permitem o uso de bancos de dados relacionais só que com uma boa parte das funcionalidades mapeadas para objetos (em detrimento dos DataSet’s).

Ai vejo que já entra a questão da cultura de pensar em relação. Bom, vamos a um exemplo:

Imaginemos o cenário de uma tabela de Usuários e Logs.

O natural (em um Banco de Dados Relacional) seria dar um Select na Tabela de Usuários e depois um Select na Tabela de Logs e preenche o Grid.

Na em um Banco de Dados Orientado a Objetos, um objeto Usuário tem uma propriedade que é uma Coleção de Logs. Então, basta pedir um objeto Usuário que combine com a chave (tipo CPF, CNPJ, etc) e acessar a propriedade de Logs.

Mas até ai é bem parecido, mas, no caso do Banco de Dados Orientado a Objetos o que temos não é uma representação dos dados (como no modelo Relacional) e sim a instância de um objeto que representa os dados como eles realmente são. O que significa necessáriamente que, se esse objeto for alterado então quem consome o objeto irá refletir imediatamente em memória as alterações.

Ainda temos o ganho de podermos modelar nossos sistemas realmente orientado a objetos e não com meia orientação a objetos e meio relacional, afinal, temos de persistir os dados de alguma forma.

Bom, neste post é só. Estou preparando outros artigos de como usar o DB4O e pelo meu uso dele eu prometo que irá surpreender a todos. Mas, sejamos realistas e vou admitir que não espero ver uma ferramente de BI ou ERP no mercado com um banco de dados orientado a objetos tão cedo. Contudo, para sites pequenos, sistemas comerciais, ponta de estoque, etc (o famoso basicão) ele desce redondo.

Posts Relacionados:

  1. Reflection – Parte 3 (Fields)
  2. Reflection Parte 2 – Construtores
  3. Compressão de (Compactar) ViewState
, , ,

Be the first to start a conversation

Deixa uma Resposta

znjdb32s6g