Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm...
-
Upload
pedro-brian-vilanova-correia -
Category
Documents
-
view
220 -
download
2
Transcript of Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm...
![Page 1: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/1.jpg)
Bancos de Dados Orientados a Objetos
Claudionor dos SantosDiego Mota Collaço
Estefania BormMilleni Maya Pettená
Ronaldo José AbelSamuel Grüdtner
![Page 2: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/2.jpg)
Introdução•Visão Geral•Conceitos de um BDOO•Padrão ODMG•Principais diferenças entre BDR e BDOO•BDOO no mercado•Exemplo-Db4o
![Page 3: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/3.jpg)
Visão Geral•Necessidade de armazenar tipos de
dados cada vez mais complexos•BD implementado respeitando os três
pilares da OO: herança, polimorfismo e encapsulamento.
•Modelagem intimamente ligada aos diagramas de classes gerados para a aplicação OO
•Servem ao mesmo propósito dos BDRs (armazenamento; recuperabilidade ...)
![Page 4: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/4.jpg)
Visão Geral•A dificuldade dos Banco de Dados
Relacionais , em implementar em algumas aplicações complexas – como por exemplo, banco de dados para projetos de engenharia e manufatura (CAD/CAM e CIM), experimentos científicos, telecomunicações, sistemas de informações geográficas e multimídia.
•Uso crescente de linguagens de programação orientadas a objetos no desenvolvimento de aplicações de software.
![Page 5: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/5.jpg)
•A necessidade de características adicionais na modelagem de dados também tem sido reconhecida por fornecedores de SGDBs relacionais, e as recentes versões de sistemas relacionais estão incorporando muitas das características que foram propostas para banco de dados orientados a objetos, o que resultou em sistemas conhecidos SGBDs objeto-relacionais ou relacionais estendidos.
•A última versão do padrão SQL para banco de dados relacionais inclui algumas dessas características.
![Page 6: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/6.jpg)
Conceitos • Orientado a Objetos
remonta das LPOO.• Hoje os conceitos OO
são aplicados a diversas áreas de Banco de Dados, engenharia de software, bases de conhecimento, inteligência artificial ...
• Um objeto possui tipicamente dois componentes: ESTADO (VALOR) e COMPORTAMENTO (OPERAÇÕES).
![Page 7: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/7.jpg)
Conceitos de um BDOO• Um BDOO armazena os objetos persistentes
permanentemente,em memória secundária, permitindo o compartilhamento desses objetos entre vários programas, e aplicações.
• Isso exige incorporar outras características bem conhecidas de SGBDs, como mecanismos de indexação, controle de concorrência e recuperação.
• O OID (identificador de objeto) é fornecido pelo sistema banco de dados, é único, com intuito de manter a integridade e identidade do objeto para garantir a correspondência direta entre Objeto
![Page 8: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/8.jpg)
Conceitos• Objetos complexos são formados por construtores
(conjuntos, listas, tuplas, registros, coleções, arrays) aplicados a objetos simples (inteiros, booleanos, strings).
• Um objeto encapsulado tem seu estado oculto ao usuário e só pode ser consultado/modificado por meio das operações a ele associadas.
• Classes são um conjunto de objetos que possui os mesmos atributos, relacionamentos, operações
• Herança corresponde a transferência de propriedades estruturais e de comportamento de uma classe para suas subclasses.
![Page 9: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/9.jpg)
Conceitos•Estrutura de Objeto – normalmente os
objetos são representados pela tripla (i,c,v) onde : i é o OID, c é um construtor de tipo (uma indicação como o estado do objeto é construído) e v é o estado do objeto;
•Construtores de tipo basicos : atom, tuple e set outros exemplos são o list, bag e array.
![Page 10: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/10.jpg)
Conceitos•O1=(i1,atom,’florianópolis’)•O2=(i2,atom,’trindade’)•O3=(i3,atom,5)•04=(i4,set,{i1,i2,i3)•O5=(i5,tuple,<DNOME:i7,DNUM:i9,GER:i9,PROJ:i23
>)
![Page 11: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/11.jpg)
Conceitos• Overriding é a redefinição da implementação
da operação e overloading é a associação do resultado da redefinição a um único nome. Late binding é resolver o nome das operações em tempo de execução
• Extensibilidade é estender os tipos já definidos pelo sistema de modo transparente para a aplicação e para o desenvolvedor da aplicação
• Completude computacional é expressar qualquer função computável no modelo de dados usando a linguagem de manipulação do SGBD
![Page 12: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/12.jpg)
ODMG – Object Database Management Group
• Consórcio de pesquisadores e fabricantes concebido para trabalhar na criação de padrões para SGBDOOs a fim de garantir a portabilidade
• Componentes principais: Framework
- modelo de objetos - linguagem de definição de objetos (ODL)- linguagem de consulta de objetos (OQL)
Bindings - mapeamento das construções do padrão
para as linguagens de programação (C++, Smalltalk, Java)
![Page 13: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/13.jpg)
Modelo de Objetos ODMG• Modelo de Objetos
- fornece os tipos de dados, de construtores e outros conceitos que podem ser usados na ODL para especificar esquemas de BDOO
- construção básica: objeto (identificador único) ou literal (valor único)
- objeto possui quatro características:1 - identificador (OID) único2 - nome opcional3 - tempo de vida persistente ou transiente4 - estruturaconstrução do objeto (atômico ou
coleção)
![Page 14: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/14.jpg)
Modelo de Objetos ODMG
• O modelo de dados inclui normalmente vários construtures de tipo:- atom <valor>: inteiros, reais, strings, booleanos- set <coleção_objeto>: elementos distintos- bag <coleção_objeto>: elementos duplicados- list [i1, i2,...,in]: lista ordenada (mesmo tipo)- array [i1, i2,...,in]: vetor com tamanho máximo- tuple <a1:i1, a2:i2,...,an:in>: cada par a:i
corresponde a nome_atributo:OID- dictionary <k,v>: criação de índices sobre coleção
de objetos
![Page 15: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/15.jpg)
Modelo de Objetos ODMG
• No modelo de objetos, um literal é um valor que não possui OID
• Existem três tipos de literais:
- atômicos: long, short, double, chart, string, boolean, etc
- literais estruturados: Date, Interval, Time, Timestamp
- literais coleção: set, list, array, bag
![Page 16: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/16.jpg)
Modelo de Objetos ODMG• Herança
- todos herdam a interface básica Object
![Page 17: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/17.jpg)
Modelo de Objetos ODMG• Herança
- de comportamento (somente operações) entre interfaces entre interface e classe é permitida herança múltipla
- extends (comportamento (operações) e estado (atributos e relacionamentos)) somente entre classes não é permitida herança múltipla
![Page 18: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/18.jpg)
Modelo de Objetos ODMG• Interfaces
- não são instanciáveis - especificam o comportamento de um objeto - podem possuir atributos e relacionamentos, mas
estes não são herdadosinterface Time : Object { ... unsigned short hour(); unsigned short minute(); unsigned short second(); unsigned short milisecond(); ... boolean is_equal (in Time another_time); boolean is_greater (in Time another_time); ... Time add_interval (in Interval some_interval); ...};
![Page 19: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/19.jpg)
Modelo de Objetos ODMG• Objetos Atômicos (definidos pelo usuário)
- na grande maioria são objetos estruturados - possuem:
atributos valores literais estruturas simples ou complexas métodos para manipular o valor do atributo
relacionamentos unidirecionais atributo de um objeto A é um outro
objeto B bidirecionais atributo de um objeto A é um outro
objeto B, e o atributo de um objeto B é um objeto A operações
métodos nome do método, argumentos, retorno, especificação de exceções
![Page 20: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/20.jpg)
Modelo de Objetos ODMG• Extensões
- projetista pode declarar uma extensão (extent) para qualquer tipo de objeto que esteja definido por meio de uma declaração de classe (class)
- contém todos os objetos persistentes dessa classe - pode possuir uma ou mais chaves
valores restritos a serem únicos para cada objeto na extensão
![Page 21: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/21.jpg)
Modelo de Objetos ODMG
• Objetos Fábrica
- utilizados para criar novos objetos - modelo ODMG possui a interface ObjectFactory,
com a operação new( ), que retorna um objeto novo com um OID
![Page 22: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/22.jpg)
ODL – Object Definition Language
• Não é uma linguagem de programação completa- função:
dar suporte aos construtores semânticos do MO-ODMG
especificar interfaces e classes definir o esquema do BDOO
- implementação do BDOO: usuário utiliza um binding específico com LPs
como C++, Smalltalk e Java para mapear componentes
- nem todas as LPs implementam todas as especificações ODL
![Page 23: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/23.jpg)
OQL - Object Query Language
• Linguagem de consulta proposta para o modelo de objetos ODMG
• É projetada para trabalhar acoplada com as linguagens de programação com as quais o modelo ODMG define um binding(C++, Smalltalk, Java)
• Uma consulta OQL embutida em uma dessas linguagens pode retornar objetos compatíveis com o sistema de tipos dessa linguagem
![Page 24: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/24.jpg)
OQL - Linguagem de Consulta de
Objetos• Sintaxe semelhante a sintaxe SQL, porém com
suporte ao tratamento de - objetos complexos- junções por valor ou OID- invocação de métodos- herança
SELECT d.dnomeFROM d in departamentosWHERE d.faculdade = 'Engenharia‘;
• Em geral é necessário um ponto de entrada para o BDOO nas consultas
![Page 25: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/25.jpg)
OQL - Linguagem de Consulta de
Objetos• Não precisa seguir necessariamente a estrutura
SELECT...FROM...WHERE qualquer objeto nomeado persistente por si
mesmo é uma consultadepartamentos; retorna uma coleção de referências de todos
os objetos persistentes de Departamento cujo tipo seja set<Departamento>
expressão de caminho (".")departamentosin.coordenador; retorna um objeto do tipo Professor, pois é o
tipo do atributo coordenador da classe departamento
![Page 26: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/26.jpg)
Retorno de estrutura complexa
SELECT STRUCT (nome: STRUCT (ultimo_nome: s.nome.unome,
primeiro_nome: s.nome.pnome), graus: (SELECT STRUCT (grau: d.grau, ano: d.ano, Faculdade: d.faculdade)
FROM d IN s.graus)FROM s IN departamentosin.coordenador.orienta;
OQL - Linguagem de Consulta de
Objetos
![Page 27: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/27.jpg)
Visões como consultas nomeadas
DEFINE possui_alunos (nomedepto) AS SELECT s FROM s IN alunosWHERE s.estuda_em.dnome = nomedepto;
Possui_alunos ('Sistemas de Informacao');
OQL - Linguagem de Consulta de
Objetos
![Page 28: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/28.jpg)
OQL•Q1:departamentos•Q2:departamentocc.coordenador.classific
acao•Q3a:select f.classificacao from f in
departamentocc.possui_professores•V1:define possui_alunos(nomedepto) as
select s from s in alunos where s.estuda_em.dnome=nomedepto;
![Page 29: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/29.jpg)
Exemplo de Esquema BDOO
![Page 30: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/30.jpg)
Exemplo de Esquema BDOO
class Pessoa (extent pessoas key ssn){ attribute struct Pnome {string pnome, string mnome, string unome} nome ; attribute string ssn; attribute date datanascimento; attribute enum Genero{M,F} sexo; attribute struct Endereco{string rua, short nro, short nroapto, string cidade, string estado, short CEP} endereco; short idade();
}
![Page 31: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/31.jpg)
Exemplo de Esquema BDOOclass Professor extends Pessoa (extent professores) { attribute string classificacao; attribute string salario; attribute string sala; attribute string telefone; relationship Departamento trabalha_em
inverse Departamento::possui_professor; relationship set<Grad_Aluno> orienta
inverse Grad_Aluno::orientado_por; relationship set<Grad_Aluno> na_banca_de inverse Grad_Aluno::banca; void dar_aumento(in float aumento); void promover(in string nova_classificacao);};
![Page 32: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/32.jpg)
class Departamento (extent departamentos key dnome){ attribute string dnome; attribute string dtelefone; attribute string dsala; attribute string faculdade; attribute Professor coordenador; relationship set<Professor> possui_professores inverse Professor::trabalha_em; relationship set<Aluno> forma_especialistas
inverse Aluno::especializa_em; relationship set<Curso> oferece
inverse Curso::oferecido_em;};
Exemplo de Esquema BDOO
![Page 33: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/33.jpg)
Exemplo de Esquema BDOO
![Page 34: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/34.jpg)
Projeto conceitual de BDOOBDOO x BDR – Principais
DiferençasBanco de Dados Relacional (BDR)
Banco de Orientado à Objetos (BDOO)
Coleção de tabelas, todas com nomes únicos, compõem a base de dados, podendo estar relacionada a uma ou mais tabelas. Não tem relação direta com as classes das aplicações.
Coleção de objetos que encapsulam tanto as informações quanto as operações das classes de origem.
Chaves primárias identificam unicamente uma tupla em uma relação.
Identificadores de objetos (OID) identificam unicamente um objeto na base de dados inteira
Relacionamentos entre tuplas são especificados por chaves estrangeiras, sendo representados em tabela adicional
Relacionamentos são tratados pela definição de atributo de referência, que inclui o OID do objeto relacionado
![Page 35: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/35.jpg)
BDOO x BDR – Principais Diferenças
Banco de Dados Relacional (BDR)
Banco de Orientado à Objetos (BDOO)
Atributos são limitados à valores simples
Atributos multivalorados são comuns
Não há estrutura pré-definida para herança
Estruturas de herança estão imbutidas no modelo
Definição de operações pode ser postergada
Operações devem ser especificadas antecipadamente, pois fazem parte das especificações das classes.
![Page 36: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/36.jpg)
BDOO x BDR – Principais DiferençasModelagem de dados para BDR
![Page 37: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/37.jpg)
BDOO x BDR – Principais DiferençasModelagem de dados para BDOO
![Page 38: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/38.jpg)
• Db4o;• Oracle;• ONTOS;• Objectivy;
BDOO no mercado
![Page 39: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/39.jpg)
Exemplo– db4objects(db4o)•Permitir que você faça suas consultas de
forma orientada a objetos, como se estivesse pesquisando em uma Array, List ou qualquer outro container de objetos.
![Page 40: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/40.jpg)
Performace•a) Não tenho problemas de performance?
![Page 41: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/41.jpg)
Db4o na prática.•Instalação;
▫http://www.db4o.com/community/▫Dlls, docs, e codigos de exemplo.
•Utilização;▫Referenciar a respectiva dll e adicionar um
"using com.db4o“;•Criando um database
▫O arquivo de dados do db4o tem normalmente a extensão .yap;
![Page 42: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/42.jpg)
Db4o - Métodos Set: grava objetos na base
Get: recupera um objeto da base procurando-o através de um templateDelete: apaga um objetoQuery: faz uma pesquisa na base retornando uma lista do tipo ObjectSetQuery<T>: faz uma pesquisa retornando uma lista tipadaCommit e Rollback: confirma/anula uma transação (semelhante ao commit/rollback dos RDBMs)
![Page 43: Bancos de Dados Orientados a Objetos Claudionor dos Santos Diego Mota Collaço Estefania Borm Milleni Maya Pettená Ronaldo José Abel Samuel Grüdtner.](https://reader036.fdocumentos.tips/reader036/viewer/2022062316/5706386c1a28abb82390538f/html5/thumbnails/43.jpg)
Bibliografia• Elmasri – Navathe ,Sistemas de Banco de Dados 4ª Edição• Bertino, E.; Martino, L. (1993). Object-Oriented Database Systems: Concepts and Architectures. Addison-Wesley, 1993.• Blaha, M.; Premerli, W. Object-Oriented Modeling and Design for Database Applications. Prentice-Hall, 1998.• Cattel, R.G.G. Object-Oriented and Extended Relational Database Systems. Addison-Wesley, 1994.• http://www.linhadecodigo.com.br/Artigo.aspx?id=2212; • http://pt.wikipedia.org/wiki/Object_database#Ado.C3.A7.C3.A3o_de_Banco_de_Dados_Orientado_a_Objetos• http://www.ime.usp.br/~andrers/aulas/bd2005-1/aula3.html• http://www.db4o.com/