Академический Документы
Профессиональный Документы
Культура Документы
Orientados a Objetos
Claudionor dos Santos
Diego Mota Collao
Estefania Borm
Milleni Maya Petten
Ronaldo Jos Abel
Samuel Grdtner
Introduo
Viso Geral
Conceitos de um BDOO
Padro ODMG
Principais diferenas entre BDR e BDOO
BDOO no mercado
Exemplo-Db4o
Viso Geral
Necessidade de armazenar tipos de dados
cada vez mais complexos
BD implementado respeitando os trs pilares
da OO: herana, polimorfismo e
encapsulamento.
Modelagem intimamente ligada aos
diagramas de classes gerados para a
aplicao OO
Servem ao mesmo propsito dos BDRs
(armazenamento; recuperabilidade ...)
Viso Geral
A dificuldade dos Banco de Dados Relacionais ,
em implementar em algumas aplicaes
complexas como por exemplo, banco de dados
para projetos de engenharia e manufatura
(CAD/CAM e CIM), experimentos cientficos,
telecomunicaes, sistemas de informaes
geogrficas e multimdia.
Uso crescente de linguagens de programao
orientadas a objetos no desenvolvimento de
aplicaes de software.
Conceitos
Orientado a Objetos
remonta das LPOO.
Hoje os conceitos OO so
aplicados a diversas
reas de Banco de Dados,
engenharia de software,
bases de conhecimento,
inteligncia artificial ...
Um objeto possui
tipicamente dois
componentes: ESTADO
(VALOR) e
COMPORTAMENTO
(OPERAES).
Conceitos de um BDOO
Um BDOO armazena os objetos persistentes
permanentemente,em memria secundria,
permitindo o compartilhamento desses objetos entre
vrios programas, e aplicaes.
Isso exige incorporar outras caractersticas bem
conhecidas de SGBDs, como mecanismos de
indexao, controle de concorrncia e recuperao.
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 correspondncia direta entre Objeto
Conceitos
Conceitos
Estrutura de Objeto normalmente os objetos
so representados pela tripla (i,c,v) onde : i o
OID, c um construtor de tipo (uma indicao
como o estado do objeto construdo) e v o
estado do objeto;
Construtores de tipo basicos : atom, tuple e set
outros exemplos so o list, bag e array.
Conceitos
O1=(i1,atom,florianpolis)
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>)
Conceitos
Modelo de Objetos
- fornece os tipos de dados, de construtores e outros
conceitos que podem ser usados na ODL para especificar
esquemas de BDOO
- construo bsica: objeto (identificador nico) ou literal
(valor nico)
- objeto possui quatro caractersticas:
1 - identificador (OID) nico
2 - nome opcional
3 - tempo de vida persistente ou transiente
4 - estruturaconstruo do objeto (atmico ou
coleo)
Herana
- todos herdam a interface bsica Object
Herana
- de comportamento (somente operaes)
entre interfaces
Interfaces
- no so instanciveis
- especificam o comportamento de um objeto
- podem possuir atributos e relacionamentos, mas estes no so
herdados
relacionamentos
operaes
Extenses
- projetista pode declarar uma extenso (extent) para
qualquer tipo de objeto que esteja definido por meio de
uma declarao de classe (class)
- contm todos os objetos persistentes dessa classe
- pode possuir uma ou mais chaves
Objetos Fbrica
- utilizados para criar novos objetos
- modelo ODMG possui a interface ObjectFactory, com a
operao new( ), que retorna um objeto novo com um OID
ODL
Object Definition Language
OQL
Q1:departamentos
Q2:departamentocc.coordenador.classificacao
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;
BDOO no mercado
Db4o;
Oracle;
ONTOS;
Objectivy;
Exemplo db4objects(db4o)
Permitir que voc faa suas consultas de forma
orientada a objetos, como se estivesse
pesquisando em uma Array, List ou qualquer
outro container de objetos.
Performace
a) No tenho problemas de performance?
Db4o na prtica.
Instalao;
http://www.db4o.com/community/
Dlls, docs, e codigos de exemplo.
Utilizao;
Referenciar a respectiva dll e adicionar um "using
com.db4o;
Criando um database
O arquivo de dados do db4o tem normalmente a
extenso .yap;
Db4o - Mtodos
Set: grava objetos na base
Get: recupera um objeto da base procurando-o atravs
de um template
Delete: apaga um objeto
Query: faz uma pesquisa na base retornando uma
lista do tipo ObjectSet
Query<T>: faz uma pesquisa retornando uma lista
tipada
Commit e Rollback: confirma/anula uma transao
(semelhante ao commit/rollback dos RDBMs)
Bibliografia
Elmasri Navathe ,Sistemas de Banco de Dados 4 Edio
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.A
3o_de_Banco_de_Dados_Orientado_a_Objetos
http://www.ime.usp.br/~andrers/aulas/bd2005-1/aula3.html
http://www.db4o.com/