SlideShare uma empresa Scribd logo
DB 4 OBJECTS WWW.DB4O.COM Eduardo Rocha Monteiro (emonteiro@inf.ufes.br)‏
APRESENTAÇÃO Graduado em Ciencia da Computação - UFES Especializado em .NET – UVV Mestrando em Inteligência Computacional – UFES db4o valuable professional 2007,2008 e 2009
AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados
INTRODUÇÃO Persistência Serialização Limitações Mudança na definição das classes Sem suporte a consultas Bancos de dados Suporte a consultas Suporte a transações
PARADIGMA DE PROGRAMAÇÃO ORIENTADO A OBJETOS Paradigma Predominante Benefícios Chave Favorece o Reuso Facilidade de representação de situações do mundo real Clareza
MODELO RELACIONAL Tabelas Colunas contém valores simples
MODELO RELACIONAL SELECT  C.nome FROM  Clientes C JOIN  Enderecos A ON  A.Cliente_id = C.id WHERE  C.endereco.cidade=“Vila Velha”
MODELO OBJETO-RELACIONAL Extensão do modelo relacional Colunas de tabelas podem conter objetos Objetos Complexos podem ser armazenados em tabelas relacionais
MODELO OBJETO-RELACIONAL SELECT  C.nome FROM  Clientes C WHERE  C.endereco.cidade=“Vila Velha”
MODELO ORIENTADO A OBJETO O objeto no banco de dados é análogo ao objeto na memório da aplicação. Não há necessidade de linguagens de definições de dados e de consulta.
AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados Conclusão
MODELO RELACIONAL Impedance Mismatch Relacionamento muitos para muitos Herança Mapeamento Vertical Mapeamento Horizontal Mapeamento Filtrado
MAPEAMENTO MUITOS PARA MUITOS
MAPEAMENTO MUITOS PARA MUITOS
MAPEAMENTO DE HERANÇA
MAPEAMENTO VERTICAL
MAPEAMENTO HORIZONTAL
MAPEAMENTO FILTRADO
AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados
O QUE É DB4O Um projeto Open Source Uma biblioteca para Java e .NET Benefícios Eliminar ferramentas e códigos para o mapeamento objeto relacional Aumentar a produtividade
PRINCIPAIS COMPONENTES Db4objects.Db4o Db4oFactory Controla conexões com bancos db4o (locais e remotos)‏ ObjectContainer É o banco de dados db4o, propriamente dito. Db4objects.Db4o.Query Contém classes para realizar consultas complexas
OBJECT MANAGER
AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados
ARMAZENANDO DADOS Muito simples. Vamos definir algumas classes para exemplificar.
using System;  namespace Db4oBrasil.Dominio  { public class Usuario {    private string _nome;   private int _idade;   public string Nome { get{   return _nome;   } set{   _nome=value; }   }   public int Idade { get{   return _idade; } set{   _idade=value; }   }   public override string ToString() { return _nome + " (" + _idade + ")";   }   } }
PROCEDIMENTO GERAL DE INTERAÇÃO COM DB4O // abre o banco IObjectContainer db = Db4oFactory.OpenFile("C:/Projetos/D4boBrasil/teste.yap"); try { // fazer alguma coisa com db4o } finally { db.Close(); // fecha o banco de dados }
ARMAZENANDO OBJETOS Usuario eduardo = new Usuario(); eduardo.Nome="Eduardo Monteiro";  eduardo.Idade=“26";  Usuario fulano= new Usuario();  fulano.Nome=“Fulano da Silva";  fulano.Idade="23";  db.Set(eduardo);  db.Set(fulano);
AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados
RECUPERANDO OBJETOS Existem três tipos de consultas em db4o Query by example Native Queries SODA
QUERY BY EXAMPLE Um objeto exemplo é usado para realizar encontrar e recuperar objetos similares Os atributos com valores nulos do objeto protótipo não são utilizados para restringir o resultado consulta
QUERY BY EXAMPLE Recuperando os usuários que tem 26 anos Usuario prototipo = new Usuario(); prototipo.Idade=26; IObjectSet result = db.Get(prototipo); ListResult(result); Saída  Eduardo(26)
QUERY BY EXAMPLE Limitações: Impossível realizar consultas que envolvam os operadores <, >, <=, >=.
AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados Conclusões
ATUALIZANDO DADOS Recuperar, alterar e salvar. Usuario prototipo = new Usuario(); prototipo.Nome=“Eduardo Monteiro”; IObjectSet result = db.Get(prototipo); prototipo.Idade=prototipo.Idade+1; db.Set(prototipo);
AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados Conclusões
EXCLUINDO DADOS Recuperar, excluir. Usuario prototipo = new Usuario(); prototipo.Nome=“Eduardo Monteiro”; IObjectSet result = db.Get(prototipo); db.delete(prototipo);
AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados Conclusões
CONCLUSÕES Mapeamento objeto relacional é um entrave para a produtividade. Db4o é fácil de aprender, fácil de usar. Db4o é uma excelente alternativa para prototipação rápida de software.
MAIS SOBRE DB4O db4obrasil.blogspot.com www.db4o.com

Mais conteúdo relacionado

PPTX
Aula05 phonegap cadastro_contatos
PDF
Análise de Malware em Dump de Memória com Volatility
PDF
Spring Data Neo4j
PPTX
Workshop MongoDB
PDF
Curso mongo db com php
PDF
Banco dados i prof ivan (acesse www.portalgsti.com.br)
PPT
Banco de Dados - NoSQL
PDF
Spring Data Jpa
Aula05 phonegap cadastro_contatos
Análise de Malware em Dump de Memória com Volatility
Spring Data Neo4j
Workshop MongoDB
Curso mongo db com php
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco de Dados - NoSQL
Spring Data Jpa

Semelhante a Db4ofavi (20)

PDF
Mer - Modelo Entidade Relacionamento
KEY
NoSQL e MongoDB - ETEC
KEY
NoSQL e MongoDB
PDF
Abstração do banco de dados com PHP Doctrine
PDF
Apresentação Banco de Dados - Caché
PPT
Aula1
PDF
PPTX
Slide db4 o
PPT
Módulo 06 Introdução a metadados no DSpace
PPTX
SECOMP_Introdução ao asp.net-dia 2
ODP
Bancos de Dados para Bibliotecários
PPTX
Introdução ao nosql (mini curso)
PPT
FMN-Banco de Dados - Partes 1 a 5-Modelagem de Dados 20070330.ppt
PPTX
MongoDB - Iniciando e Conhecendo
PDF
MongoDB: um banco de dados orientado a documento
PPTX
Introdução ao Entity Framework 4
ODP
PDF
Minicurso de Django - Desenvolvimento ágil web com Django e Python
PPTX
MongoDB - Performance e Escalabilidade para aplicações web
PDF
Cp25540549
Mer - Modelo Entidade Relacionamento
NoSQL e MongoDB - ETEC
NoSQL e MongoDB
Abstração do banco de dados com PHP Doctrine
Apresentação Banco de Dados - Caché
Aula1
Slide db4 o
Módulo 06 Introdução a metadados no DSpace
SECOMP_Introdução ao asp.net-dia 2
Bancos de Dados para Bibliotecários
Introdução ao nosql (mini curso)
FMN-Banco de Dados - Partes 1 a 5-Modelagem de Dados 20070330.ppt
MongoDB - Iniciando e Conhecendo
MongoDB: um banco de dados orientado a documento
Introdução ao Entity Framework 4
Minicurso de Django - Desenvolvimento ágil web com Django e Python
MongoDB - Performance e Escalabilidade para aplicações web
Cp25540549
Anúncio

Último (9)

PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Utilizando code blockes por andre backes
PPTX
Tipos de servidor em redes de computador.pptx
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Viasol Energia Solar -Soluções para geração e economia de energia
Manejo integrado de pragas na cultura do algodão
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Eng. Software - pontos essenciais para o início
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Utilizando code blockes por andre backes
Tipos de servidor em redes de computador.pptx
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Anúncio

Db4ofavi

  • 1. DB 4 OBJECTS WWW.DB4O.COM Eduardo Rocha Monteiro (emonteiro@inf.ufes.br)‏
  • 2. APRESENTAÇÃO Graduado em Ciencia da Computação - UFES Especializado em .NET – UVV Mestrando em Inteligência Computacional – UFES db4o valuable professional 2007,2008 e 2009
  • 3. AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados
  • 4. INTRODUÇÃO Persistência Serialização Limitações Mudança na definição das classes Sem suporte a consultas Bancos de dados Suporte a consultas Suporte a transações
  • 5. PARADIGMA DE PROGRAMAÇÃO ORIENTADO A OBJETOS Paradigma Predominante Benefícios Chave Favorece o Reuso Facilidade de representação de situações do mundo real Clareza
  • 6. MODELO RELACIONAL Tabelas Colunas contém valores simples
  • 7. MODELO RELACIONAL SELECT C.nome FROM Clientes C JOIN Enderecos A ON A.Cliente_id = C.id WHERE C.endereco.cidade=“Vila Velha”
  • 8. MODELO OBJETO-RELACIONAL Extensão do modelo relacional Colunas de tabelas podem conter objetos Objetos Complexos podem ser armazenados em tabelas relacionais
  • 9. MODELO OBJETO-RELACIONAL SELECT C.nome FROM Clientes C WHERE C.endereco.cidade=“Vila Velha”
  • 10. MODELO ORIENTADO A OBJETO O objeto no banco de dados é análogo ao objeto na memório da aplicação. Não há necessidade de linguagens de definições de dados e de consulta.
  • 11. AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados Conclusão
  • 12. MODELO RELACIONAL Impedance Mismatch Relacionamento muitos para muitos Herança Mapeamento Vertical Mapeamento Horizontal Mapeamento Filtrado
  • 19. AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados
  • 20. O QUE É DB4O Um projeto Open Source Uma biblioteca para Java e .NET Benefícios Eliminar ferramentas e códigos para o mapeamento objeto relacional Aumentar a produtividade
  • 21. PRINCIPAIS COMPONENTES Db4objects.Db4o Db4oFactory Controla conexões com bancos db4o (locais e remotos)‏ ObjectContainer É o banco de dados db4o, propriamente dito. Db4objects.Db4o.Query Contém classes para realizar consultas complexas
  • 23. AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados
  • 24. ARMAZENANDO DADOS Muito simples. Vamos definir algumas classes para exemplificar.
  • 25. using System; namespace Db4oBrasil.Dominio { public class Usuario { private string _nome; private int _idade; public string Nome { get{ return _nome; } set{ _nome=value; } } public int Idade { get{ return _idade; } set{ _idade=value; } } public override string ToString() { return _nome + &quot; (&quot; + _idade + &quot;)&quot;; } } }
  • 26. PROCEDIMENTO GERAL DE INTERAÇÃO COM DB4O // abre o banco IObjectContainer db = Db4oFactory.OpenFile(&quot;C:/Projetos/D4boBrasil/teste.yap&quot;); try { // fazer alguma coisa com db4o } finally { db.Close(); // fecha o banco de dados }
  • 27. ARMAZENANDO OBJETOS Usuario eduardo = new Usuario(); eduardo.Nome=&quot;Eduardo Monteiro&quot;; eduardo.Idade=“26&quot;; Usuario fulano= new Usuario(); fulano.Nome=“Fulano da Silva&quot;; fulano.Idade=&quot;23&quot;; db.Set(eduardo); db.Set(fulano);
  • 28. AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados
  • 29. RECUPERANDO OBJETOS Existem três tipos de consultas em db4o Query by example Native Queries SODA
  • 30. QUERY BY EXAMPLE Um objeto exemplo é usado para realizar encontrar e recuperar objetos similares Os atributos com valores nulos do objeto protótipo não são utilizados para restringir o resultado consulta
  • 31. QUERY BY EXAMPLE Recuperando os usuários que tem 26 anos Usuario prototipo = new Usuario(); prototipo.Idade=26; IObjectSet result = db.Get(prototipo); ListResult(result); Saída Eduardo(26)
  • 32. QUERY BY EXAMPLE Limitações: Impossível realizar consultas que envolvam os operadores <, >, <=, >=.
  • 33. AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados Conclusões
  • 34. ATUALIZANDO DADOS Recuperar, alterar e salvar. Usuario prototipo = new Usuario(); prototipo.Nome=“Eduardo Monteiro”; IObjectSet result = db.Get(prototipo); prototipo.Idade=prototipo.Idade+1; db.Set(prototipo);
  • 35. AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados Conclusões
  • 36. EXCLUINDO DADOS Recuperar, excluir. Usuario prototipo = new Usuario(); prototipo.Nome=“Eduardo Monteiro”; IObjectSet result = db.Get(prototipo); db.delete(prototipo);
  • 37. AGENDA Introdução Mapeamento objeto relacional O que é Db4o? Armazenando dados Recuperando dados Atualizando dados Excluindo dados Conclusões
  • 38. CONCLUSÕES Mapeamento objeto relacional é um entrave para a produtividade. Db4o é fácil de aprender, fácil de usar. Db4o é uma excelente alternativa para prototipação rápida de software.
  • 39. MAIS SOBRE DB4O db4obrasil.blogspot.com www.db4o.com