db4o - database for objectos

Propaganda
ETEC DE EMBU
CAROLINE PAIXÃO, EDRIELI BARBOSA, NAYARA MENDES,
NATÁLIA BOAVENTURA, MARILDA CHAGA SANTIAGO, WANESSA
GOMES
DB4O - DATABASE FOR OBJECTOS
EMBU
2011
CAROLINE PAIXÃO, EDRIELI BARBOSA, NAYARA MENDES,
NATÁLIA BOAVENTURA, MARILDA CHAGA SANTIAGO, WANESSA
GOMES
DB4O - DATABASE FOR OBJECTOS
Trabalho apresentado a Etec de
Embu como exigência parcial para
obtenção do título de Técnica em
Informática.
EMBU
2011
RESUMO
Sumário
INTRODUÇÃO ......................................................................................................................... 5
DB4O ......................................................................................................................................... 5
DB4OBJECTS (DB4O) – BANCO DE DADOS PARA OBJETOS ............................... 6
ARMAZENAMENTO DE OBJETOS EM B.D. RELACIONAL E EM B.D. DB4O ... 7
DETALHES DO BENCHMARK OPEN SOURCE POLEPOSITION ............................ 7
CODIFICAÇÃO DB4O - EXEMPLO EM JAVA ............................................................ 9
CÓDIGO EM JAVA UTILIZANDO O BANCO DE DADOS ORIENTADO A
OBJETOS DB4O............................................................................................................ 10
CONCLUSÃO ......................................................................................................................... 12
REFERÊNCIAS ...................................................................................................................... 13
INTRODUÇÃO
Db4o é um Banco de Dados a Objetos. É código aberto e possui interface
para desenvolvimento de aplicações utilizando a Plataforma. NET da Microsoft e
Projeto MONO.
Desenvolvido para aplicações do tipo embarcações (clientes-servidores e
desktops).
Tem vantagens em relação a outros Bancos de Dados (O Banco de
Dados Relacional) e não utiliza muitos recursos computacionais.
DB4O
Db4o (database for objects) é um Banco de Dados Orientado a Objetos. É open
source e possui interface para desenvolvimento de aplicações utilizando a
Plataforma Java da SUN, a Plataforma .NET da Microsoft e Projeto MONO.
Db4objects (db4o) - Banco de Dados para Objetos
O Banco de Dados Orientado a Objetos db4objects (db4o) foi projetado para
aplicações do tipo embarcada, cliente-servidor e desktop. Possui modo nativo para
Java e. Net. Usa uma única biblioteca de desenvolvimento que se integra facilmente
às aplicações e executa de forma altamente confiável e escalável tarefas de
persistência com somente algumas linhas de código, não importando o quanto são
complexas as estruturas. Não necessita utilizar-se de consultas SQL para CRUD
(Create, Read, Update e Delete), eliminando a troca de orientado a objetos por
performance. Empresas como a Boing, Bosch, Hertz, BMW, Intel, Seagate entre
outras já utilizam o db4o.
Apresenta vantagens em relação ao Banco de Dados Relacional: oferece
rapidez de inserção, utiliza pouco recurso computacional, tem fácil aprendizado,
acesso direto ao Banco de Dados sem utilizar ORM (Mapeamento ObjetoRelacional) e ambiente de administração zero, já que as rotinas de melhoria podem
ser feitas por um programador. Na Espanha, a Indra Sistemas, uma empresa de
desenvolvimento de softwares, foi contratada para criar o centro de controle do
sistema espanhol de trens bala AVE. Neste projeto, o db4o foi utilizado como a base
de dados de tempo real para controlar o tráfego. A capacidade de processamento do
sistema da Indra fica em torno de 200 mil objetos por segundo. A Figura abaixo
mostra que o objeto é desmontado para o armazenamento em estruturas de tabelas
no Banco de Dados Relacional. Já no db4o, o objeto é diretamente armazenado
como objeto.
Armazenamento de objetos em um B.D. Relacional e em um B.D. db4o
De acordo com a empresa que produz o db4o, este banco roda até 44
vezes mais rápido que os Bancos de Dados conhecidos como Hibernate com MySql.
O benchmark de licença GPL, PolePosition, tem um método de teste chamado
Barcelona que faz escrita, leitura, consultas e remoção de objetos com uma
estrutura de herança de 5 níveis. Segundo o teste, o db4o se saiu melhor em
relação a vários Bancos de Dados conforme detalhes da Tabela Abaixo.
Detalhes do benchmark open source PolePosition
Os recursos de consultas são fundamentais para qualquer Banco de
Dados e o db4o oferece vários métodos de recuperação de dados:
QBE (Query by Example): No método QBE, você cria um modelo de
objeto, que é uma instância da classe que você deseja pesquisar. Se atribuir valores
para um ou mais atributos no seu modelo, então db4o procura por objetos no Banco
de Dados com os atributos correspondentes.
É um método simples e de fácil aprendizagem, mas só é ideal para
consultas que não precisam de operadores lógicos. SODA (Simple Object Data
Access): Constrói um grafo de consulta navegando referências em classes e as
restrições que impõe. Utiliza strings para identificar os campos. Rápido, mas o
conceito pode ser difícil de acostumar.NQ (Native Query): É uma consulta nativa
expressa inteiramente na linguagem de programação e com checagem de tipos
durante a compilação. Oferece consultas com várias vantagens importantes.
Codificação db4o - Exemplo em Java
Abaixo segue um código simples de exemplo para inserção, atualização,
consulta e remoção, escrito na linguagem Java:
Declaração da classe Pessoas em Java
package exemploobjetos;
/**
*
* @author David Rodrigues Machado
**/
public class Pessoas {
private int cod;
private String nome;
public void setCod(int cod) {
this.cod = cod;
}
public void setNome(String nome) {
this.nome = nome;
}
public int getCod() {
return (cod);
}
public String getNome() {
return (nome);
}
}
Código em Java utilizando o Banco de Dados Orientado a Objetos
db4o
package exemploobjetos;
import com.db4o.*;
/**
*
* @author David Rodrigues Machado
**/
public class Main {
public static void main(String[] args) {
//Variável do arquivo do Banco de Dados
ObjectContainer db = Db4o.openFile("Banco.yap");
//Criando um objeto do tipo Pessoas
Pessoas p = new Pessoas();
//Objeto do tipo Pessoas para obter o objeto que se deseja do banco
Pessoas achou_p;
//Variável para obter o resultado do objeto recuperado
ObjectSet result;
//INSERÇÃO
p.setCod(20);//Instanciando o objeto com o código 20
p.setNome("David");//Instanciando o objeto com o nome David
db.set(p);//Armazenando o objeto no banco
System.out.println("O objeto foi inserido");
//ATUALIZAÇÃO
p.setCod(20);//Instanciando o objeto com o código 20
result = db.get(p);//Recupera o objeto p do Banco
achou_p = (Pessoas) result.next();//retorna o objeto se existir
achou_p.setCod(20);//Instanciando o objeto encontrado com código 20
achou_p.setNome("Jaqueline");//Alterando o objeto para o nome Jaqueline
db.set(achou_p);//Armazenando o objeto no Banco
System.out.println("O objeto foi atualizado");
//CONSULTA
p.setCod(20);
result = db.get(p);
achou_p = (Pessoas) result.next();
System.out.println("O objeto foi consultado");
//Imprime o resultado da consulta
System.out.println("O resultado da consultado é:");
System.out.println("Código: " + achou_p.getCod());
System.out.println("Nome: " + achou_p.getNome());
//REMOÇÃO
p.setCod(20);
result = db.get(p);
achou_p = (Pessoas) result.next();
db.delete(achou_p);//Apaga o objeto
System.out.println("O Objeto foi apagado");
db.close();//Fechando o Banco
}
}
Saída do Programa
O objeto foi inserido
O objeto foi atualizado
O objeto foi consultado
O resultado da consultado é:
Código: 20
Nome: Jaqueline
O objeto foi apagado.
- Wanessa
CONCLUSÃO
Neste trabalho pudemos obter maior conhecimento em relação à banco
de dados, mais especificamente em DB4O, e desta forma conhecemos suas
funcionalidades, onde se utiliza, a forma como é estruturado , e quais
desenvolvedores podem executar esse banco de dados.
REFERÊNCIAS
Site: http://www.db4o.com/portugues/ Acesso: 08/03/2011
Site: http://pt.wikipedia.org/wiki/Db4o Acesso: 08/03/2011
Download