Вы находитесь на странице: 1из 102

Grupo

Andrsa Cibelly
Clbia Alves
Cleyton Vanut
Mouglas Eugnio
Ronnie Edson
2
1 - Modelos de Banco de Dados

Roteiro 2 - Banco de Dados Orientado a Objetos

3 - Exemplos de Sistemas de Gerncia


Banco de Dados Orientado a Objetos

4 - O Padro ODMG

5 - Operaes no BDOO

6 - Tcnicas e Ferramentas de Apoio

7 Vantagens e Desvantagens

8 - Tendncias

Banco de Dados Orientados a Objetos


Introduo
3

Falta de abordagens
Problemas adequada
atuais no
desenvolvimento Resultados indesejveis
de BD
Ineficincia no atendimento
da demanda

Problemas na manuteno
Banco de Dados Orientados a Objetos
Modelos de Banco de Dados
4

Consiste de um conjunto O modelo de dados


de conceitos utilizados a principal ferramenta
para descrever a no fornecimento de
estrutura de um BD, ou informaes sobre a
seja, os tipos de dados, abstrao.
relacionamentos e
restries sobre estes
dados.

Banco de Dados Orientados a Objetos


Modelo Hierrquico

Primeiro a ser conhecido como Modelo de Dados

Registro: coleo de campos contendo somente um valor.

Link: uma associao entre exatamente dois registros.

Possui estrutura do tipo rvore

Tarciso 505 A Gama Valmer 204 C Parano Cesar 713 B Ceilndia

3B4 20,00 5B2 52,25 2C3 100,00 8A1 5,00

Banco de Dados Orientados a Objetos 5


Modelo Hierrquico

Tarciso 505 A Gama Valmer 204 C Parano Cesar 713 B Ceilndia

3B4 20,00 5B2 52,25 2C3 100,00 8A1 5,00

Os registros filhos s podem ter um pai;


Caso um registro necessite ter dois pais, deve ser replicado.

Desvantagens da replicao:

Inconsistncia ao realizar atualizaes


Desperdcio de espao;
A navegao neste modelo deve obedecer os padres do modelo

Banco de Dados Orientados a Objetos 6


Modelo Hierrquico

Dificuldades

1. No pode haver ciclos no grfico bsico de um


diagrama de estrutura de rvore

2. Restries nos relacionamentos (links) de muitos


para muitos (N:M) e de muitos para um (N:1)

3. Necessidade de navegao por ponteiros para


acessar a informao desejada

4. S trabalha com dados primitivos


Banco de Dados Orientados a Objetos 7
Modelo em Rede

Este modelo surgiu para suprir algumas deficincias no


Modelo Hierrquico

Caractersticas:

O conceito de hierarquia foi abolido;

Esse modelo aceita relacionamentos NxM

Um filho pode ter mais de um pai;

Utiliza grafos ao invs de rvores;

Possui uma linguagem prpria para definio e manipulao

Concorrncia e segurana

Banco de Dados Orientados a Objetos 8


Modelo em Rede

Dificuldades

Aumenta significativamente o trabalho do


programador, tanto para o projeto de um banco de
dados quanto para a manipulao dos dados

Necessidade do uso de mecanismo complicados


(ponteiros)

Projetista do banco de dados tem que criar tipos de


registros artificiais para implementar simples
relacionamentos muitos para muitos (N:M)

Banco de Dados Orientados a Objetos 9


Modelo Relacional

Surgiu com o propsito de aumentar a


independncia dos sistemas gerenciadores de BD.

Caractersticas:

Baseado em funes de lgebra relacional

Representado por colees de tabelas;

Cada tabela possui nome, tuplas, etc.

Restries:

No pode haver tuplas repetidas


Restries de chave;

Banco de Dados Orientados a Objetos 10


Modelo Relacional - OO

Juno do modelo Relacional com modelo OO

Caractersticas:

Segue o padro SQL

Possui identidade de objeto, encapsulamento, herana e


polimorfismo;

A semntica da aplicao modelada atravs de objetos,


porm a implementao fsica ainda feita atravs de tabelas

Banco de Dados Orientados a Objetos 11


12

Motivao

A maioria das aplicao so desenvolvidas em OO;

Necessidade de traduo para uma linguagem que o


BD entenda;

Dificuldade de trabalhar com objetos complexos no


modelo relacional.
Banco de Dados Orientados a Objetos
Surgimento
13

Combinao de ideias
dos modelos de dados Crescimento em 2004
tradicionais e linguagens
de Programao OO

O acesso aos dados


A ODMG padronizou neste modelo bem
uma linguagem para mais rpido, j que o
consulta de objetos acesso feito
diretamente aos
objetos.

Banco de Dados Orientados a Objetos


14
Identidade do Objeto

BDOO
Conceitos Um SGBDOO prov um identificador nico
(IDO) para cada objeto independente
Bsicos armazenado no BD.

Propriedade essencial: no mudar


Propriedade desejvel: um IDO no deve ser
reutilizado.

Ento... IDOs no podem depender de


valores de atributos dos objetos.

Banco de Dados Orientados a Objetos


15
Objeto

Formalmente, um objeto pode ser


BDOO
representado por um trio (triple) (i,c,v),
Conceitos onde:

Bsicos i: IDO
c: construtor de tipo
v: estado (ou valor) do objeto

Exemplo

o1=(i1,atom, Houston)
o2=(i2,atom, Bellaire)
o3=(i3,atom, Sugarland)
Banco de Dados Orientados a Objetos
16
Objetos complexos

BDOO O interesse pela representao de objetos


complexos a principal motivao para o
Conceitos desenvolvimento de sistemas OO.

Bsicos No Estruturados
Requerem grande quantidade de memria.

Imagens ou longos objetos textuais

O SGBDOO no conhece sua estrutura (somente


a aplicao que deles faz uso pode interpretar
seu significado)

Estruturados
Possuem uma estrutura definida pela repetida
aplicao dos construtores de tipo providos
pelo SGBDOO.
Banco de Dados Orientados a Objetos
17
So usados em aplicaes que utilizam objetos
complexos

Aplicaes complexas

Projetos de engenharia e arquitetura.


Experincias cientificas.
Em que Telecomunicaes.
so Sistemas de informaes geogrficas.
Multimdia.
usados os
BDOO? Caractersticas das Aplicaes complexas
Transaes e durao mais longa
Novos tipos de dados para
armazenar: imagens ou documentos
de texto
Banco de Dados Orientados a Objetos
Banco de Dados Orientado a Objetos
18

Cada informao armazenada na forma de


objeto;

S pode ser manipulada por mtodos;

Lembrando....

So mais adequados para o tratamento


de objetos complexos (textos, grficos,
imagens)
Banco de Dados Orientados a Objetos
BDOO x BD Relacional
19

BD Relacional BDOO

J um BDOO possui trs pilares


Coleo de tabelas com principais:
nomes nicos
Herana;
Polimorfismo;
Integridade referencial e e encapsulamento.
chaves primrias
Este modelo apresenta maior
garantem a consistncia
flexibilidade na manipulao de
das informaes seu contedo e por meio de
identificadores de objetos
manipula os dados de forma
consistente.
Banco de Dados Orientados a Objetos
20

O conceito (OO) forma BDOOs diferem dos BDs


uma base de Tradicionais pela:
aplicaes mais
avanadas como: Estrutura de dados mais
complexa;
Aplicaes de Transaes duradouras;
engenharia;
Novos tipos de dados para
SI Geogrficos, Multimdia; armazenar imagens e textos;
Sistemas de Interface de Necessidade de definir
Usurios. operaes no padres
especfica da aplicao.
Banco de Dados Orientados a Objetos
Banco de Dados Orientados a Objetos
21

Caractersticas

Banco de Dados Orientados a Objetos


Modelagem BDOO
22

BDOO requer conceitos prprios;

Possui Objetos Persistentes;

Objetos armazenados no BDOO est


associado a um identificador nico
chamado de OID (Object Indentifier),
que gerado pelo SGBDOO;

Banco de Dados Orientados a Objetos


Modelagem BDOOs
23

Caractersticas do OID

Valor invisvel ao usurio;

imutvel;

Desejvel que seja usado apenas uma vez;

No pode depender de valor de atributo do


objeto.
Banco de Dados Orientados a Objetos
Estrutura do Objeto

No MOO no existe conceito de


chave primria, existe os OIDs dos
objetos que so criados e
O valor de cada
mantidos pelo SGBD e no so de
atributo de um o
acesso de usurios.
objeto pode ser:

- atmico: integer, Vantagens de OIDs em relao as


real, character, Chaves:
booleano, etc.
Programadores sem muitas
- complexo: tuple, preocupaes;
set, list, bag e array.
Melhor desempenho;

Banco de Dados Orientados a Objetos 24


Mtodos
25

Mtodo consiste de
assinatura e corpo;

O comportamento de um
objeto em um BDOO
representada do por meio de
mtodos .

Banco de Dados Orientados a Objetos


26

Classes
Exemplo:

So
agrupamentos
de objetos de
um mesmo tipo,
possuindo
comportamentos
e propriedades
em comum.

Banco de Dados Orientados a Objetos


Classes
27

Os BDOOs que novos tipos sejam criados


para se adequar ao requerimento da
aplicao, sendo combinados com os
tipos existentes no sistema e sendo
utilizados da mesma maneira.

Banco de Dados Orientados a Objetos


Encapsulamento
28

No BDOO esta noo


mais visvel;
Determina que
somente as A maioria dos
operaes sobre SGBDOOs permitem
os objetos so acesso direto aos
visveis e sua
estrutura
atributos, onde uma
escondida; violao do
encapsulamento que
o BD permite.
Banco de Dados Orientados a Objetos
Herana
29

Na herana uma classe chamada subclasse pode ser


definida com base na definio de outra classe
chamada superclasse.

Banco de Dados Orientados a Objetos


Polimorfismo
30

Os SGBDOOs permitem o recurso de polimorfismo de operaes


conhecido como Sobrecarga de operador (overloading) ;

Exemplo:uma operao display que recebe um objeto como


entrada e apresenta o objeto na tela. Se o objeto for:

Uma imagem: deseja-se apresentar a


imagem;

Uma pessoa: deseja-se apresentar os


dados sobre a pessoa (nome,
endereo, etc);

Um grfico: deseja-se apresentar uma


representao grfica.
Banco de Dados Orientados a Objetos
Polimorfismo
31

Usando um sistema
convencional : Usando o Sistema OO

for x in X do
for x in X do display(x)
begin
case of type(x)
pessoa:
display_pessoa(x);
A operao tem um nico nome
figura: display_figura(x);
e pode ser chamada por vrios
grfico: objetos;
display_grfico(x);
end; O sistema decide qual
end; implementao usar para a
execuo.
Banco de Dados Orientados a Objetos
32

Definio
Um banco de dados
Podem ser definidos como
usualmente mantido e
um BD capaz de armazenar
acessado por meio de
um software conhecido alm de dados, outros tipos
como Sistema diferentes de dados que
Gerenciador de Banco no podem ser convertidos
de Dados (SGBD). somente em arquivos
lineares ou bidimensionais
como tabelas, e sim um
tipo especial de objeto.
Banco de Dados Orientados a Objetos
SGBDOO
33

Caracteristicas

A principal caracterstica de SGBDOO


modelar estruturas complexas
armazenando no somente a estrutura
de dados, mas tambm seu
comportamento.

a noo de objeto usada no nvel


lgico e possui caractersticas no
encontradas nas linguagens de
programao tradicionais;

Banco de Dados Orientados a Objetos


SGBDOO no mercado
34

Banco de Dados Orientados a Objetos


35

Foi resultado de um projeto


desenvolvido no Programa
Advanced Computer
rion Architecture da MCC
(Microelectronics and
Computer Corporation),
empresa de Austin;

Caracteristicas
Muito usado em percias;
Mais barato do mercado.
Banco de Dados Orientados a Objetos
36

Conta com 1103 veculos de


carga;

rion 4121 veculos de passeio e


comerciais leves cadastrados em
seu banco de dados;

Alm de ser o mais barato do


mercado. Presente em mais de
640 oficinas, o rion possibilitou a
realizao de mais de130 mil
percias, no ano de 2006.

Banco de Dados Orientados a Objetos


37

Novas Funcionalidades

Novo layout da agenda de visitas: Possui

rion todas as informaes necessrias para o


trmite de realizao de oramento e
comunicao direta com o perito da
seguradora;

Novo layout de fotos: Possibilita a


insero de mais de 30 fotos por
processo;

Consulta eletrnica de peas: Permite a


consulta eletrnica de peas, tanto por
descrio como por part-number.

Banco de Dados Orientados a Objetos


Agenda de Visitas

Banco de Dados Orientados a Objetos 38


Agenda de Visitas

Banco de Dados Orientados a Objetos 39


Consulta de Peas

Banco de Dados Orientados a Objetos 40


Layout de Fotos

Banco de Dados Orientados a Objetos 41


rion

Banco de Dados Orientados a Objetos 42


43
Possui uma performance ate 40 vezes
maior que qualquer banco de dados
relacional;
DB4O
Processa aproximadamente 200.000
objetos por segundo, seu cdigo
Poderoso aberto e seu custo muito baixo
SGBDOO para (praticamente zero).
manipulao de
objetos como
base de dados;
Caracteristicas
Facilidade de uso;
Voltado a objeto;
A ferramenta permite armazenar classes
Java diretamente no banco, sem precisar
utilizar consultas SQL ou qualquer tipo de
ferramenta que faa o mapeamento
objeto-relacional.
Banco de Dados Orientados a Objetos
Implementao com o DB4O em Java:
44
/**
* Exemplo de utilizao do db4o.
* */
/** public class GravaObjeto {
* Definio bsica de um Carro. private static final String DB_FILENAME =
"exemplo.db";
* */ private static ObjectContainer db;
public class Carro { public static void main(String args[]) {
private String fabricante; // Abrindo o arquivo de dados.
db = Db4o.openFile(DB_FILENAME);
private String modelo; try {
// Instanciando dois objetos da classe Carro.
//Construtor Carro corsa = new Carro("Chevrolet", "Corsa
Hatch 1.6");
public Carro(String marca, String Carro fiesta = new Carro("Ford", "Fiesta
modelo) { Hatch 1.6");
this.fabricante = marca; // Gravando os dois objetos no banco de
dados.
this.modelo = modelo; db.set(corsa);
} db.set(fiesta);
db.commit();
} finally {
//gets e sets // Fechando o arquivo de dados.
} db.close();
}

Banco de Dados Orientados a Objetos


45

Disponvel para Windows, Open


VMS, Linux e a maioria das
Cach plataformas UNIX e entregue em
sistemas que vo de dois a mais de
Banco de 10,000 de usurios simultneos.
dados mais
rpido do BD ps-relacional OO, vem
mundo! conquistando espao no mercado
devido ao seu desempenho com as
aplicaes.
Permite a integrao entre a
linguagem padro de banco de dados:
SQL (Structured Query Language
Linguagem de Consultas Estruturada)

OQL (Object Query Language


Linguagem de Consutlas a Objetos).

Banco de Dados Orientados a Objetos


Linguagens de Programao
Cach

Banco de Dados Orientados a Objetos 46


Vantagens
47

Aplicaes web de alta


performance ;

Menos trabalho;

Custo-efetividade;

Banco de Dados Orientados a Objetos


48

Um banco de dados objeto nativo para Python

ZODB Objetivo principal: transparncia


O ZODB (banco de para o desenvolvedor Python;
dados orientado
objetos para
aplicales
No impe que estruturas de
Phyton, tabelas e ndices sejam usadas
originalmente para armazenar os dados;
criado como um
componente do
servidor de O desenvolvedor pode utilizar
Aplicao Zope2 qualquer estrutura de dados
(Z Object
Publishing
nativa da linguagem para
Environment). armazenar e pesquisar seus
objetos no SGBD como: listas,
dicionrios ou rvores B.
Banco de Dados Orientados a Objetos
49

Utiliza a tcnica de BD
GemStone distribudos;

Oferece uma arquitetura


cliente/servidor;

Trabalha com diversas


linguagens de dados;

Banco de Dados Orientados a Objetos


50

Tiram proveito de
Oracle 10g caractersticas dos sistemas
Oracle o relacionais e do sistema
mais popular orientado a objeto;
banco de
dados
relacional do
mundo para
Caractersticas
aplicaes
transacionais; O banco de dados mais rpido para
aplicaes OLTP;
O banco de dados mais rpido para
aplicaes de datawarehouse;
Banco de dados autogerencivel;

Banco de Dados Orientados a Objetos


Padro ODMG
51

O ODMG (Object Database Management Group)


era um consrcio de vendedores de banco de
dados orientados a objetos e mapeadores objeto-
relacionais, membros da comunidade acadmica,
e parceiros interessados. A meta era criar um
conjunto de especificaes que permitiriam a
portabilidade das aplicaes que armazenam
objetos em sistemas de gerenciamento de banco
de dados.

Banco de Dados Orientados a Objetos


Padro ODMG
52

Padronizao vinda atravs do consrcio de


SGBDO que criou o padro ODMG (Object
Data Management Group), lanando o
ODMG-93 ou ODMG 1.0.

Banco de Dados Orientados a Objetos


Linguagens de consulta
53

O ODMG definiu sua prpria SQL:

OQL (Object Query Language), linguagem de


recuperao de objetos;

ODL (Object Definition Language), linguagem


para definir e armazenar estes objetos.

Banco de Dados Orientados a Objetos


Caractersticas bsicas do objeto
54

1 - OID O nmero de identificao do


objeto;
2 - nome Uma identificao feita durante
a aplicao.
3 - tempo de vida Um objeto persistente
(ou seja, um objeto do banco de dados) ou
um objeto transiente (ou seja, prprio do
aplicativo);
4 - estrutura Define se o objeto atmico
ou uma coleo.
Banco de Dados Orientados a Objetos
Tipos de Dados
55

O tipo de um objeto denido pelo seu


comportamento (conjunto de operaes que podem
ser executadas) e estado (valores que tomam suas
propriedades atributos e relaes).

Existem trs formas de caracterizar um tipo:


Uma interface dene apenas o comportamento
abstrato de um tipo de objeto.
Um literal dene apenas o estado abstrato de um tipo
literal.
Uma classe dene o comportamento abstrato e o
estado abstrato de um tipo de objeto.

Banco de Dados Orientados a Objetos


Banco de Dados Orientados a Objetos 56
57

Por que surgiram os


bancos de dados OO e
por que utiliz-los

Banco de Dados Orientados a Objetos


58

Os usurios no precisavam se preocupar com


conceitos ligados a maquina

Apenas com Objetos e operaes

Beneficio elevar o nvel de abstrao ao Maximo

O objetivo de um programa de aplicao


resolver um problema especifico

J o BD resolve uma variedade de


problemas diferentes

Banco de Dados Orientados a Objetos


59

Em programas de aplicaes bom inserir


muita inteligncia em OB complexos

J No BD no uma boa idia

Alguns acreditam que


tcnicas que envolvem
modelagem de Objetos so
as mais adequada para
aplicaes complexas

Banco de Dados Orientados a Objetos


60

Os SQLs clssicos apresentam


dificuldades nessas reas

Banco de Dados Orientados a Objetos


Modelo relacional
61

Curso {curso#, titulo}


Oferta {curso#, ofer#, dataofer, local}
Professor {curso#, ofer#,emp#}
Matricula{curso#, ofer#,grau}
emp{emp#,enome,salario,posio}

Banco de Dados Orientados a Objetos


Exemplo de modelagem
62

Curso

Oferta

Matricula Professor

EMP

Banco de Dados Orientados a Objetos


63

Linguagem de dados OPAL


baseada na smallTalk

Banco de Dados Orientados a Objetos


64

object subclasse : emp


Nomesvarinst : #[emp#,enome,posio]
Restries : #[ #[#emp#,string],
[#enome, string],
[#posio, string]].

Banco de Dados Orientados a Objetos


65

Method : emp
Get_emp#
^emp#
%
Method : emp
Set_emp# : emp#_parm
emp# :=emp#_parm
%

Banco de Dados Orientados a Objetos


66

object subclasse : curso


Nomesvarinst : #[curso#,titulo,ofertas]
Restries : #[ #[#curso#,string],
[#titulo, string],
[#oferta, oset]].

Banco de Dados Orientados a Objetos


67

object subclasse : oferta


Nomesvarinst :
#[ofer#,odate,local,matriculas,professore
s]
Restries : #[ #[#ofer#,string],
[#odate, datetime],
[#local, string],
[#matriculas,nset],
[#professores, tset]].

Banco de Dados Orientados a Objetos


68

object subclasse : matricula


Nomesvarinst : #[emp,grau],
Restries : #[ #[#emp,emp],
[#grau, string]].

Banco de Dados Orientados a Objetos


69

Emp subclasse : professor


nomesvarinst : #[cursos],
restries : #[#[#cursos,cset]].

Set subclasse :eset


restries : emp.

Banco de Dados Orientados a Objetos


70

Set subclasse :cset Set subclasse :nset


restries : curso. restries : matricula.

Set subclasse :tset


Set subclasse :oset
restries : professor.
restries : oferta.

Banco de Dados Orientados a Objetos


Como preencher o banco de dados
71

Method : eset
add_emp# : emp#_parm
add_enome# : enome#_parm
add_pos# : pos_parm
| emp_oid |
emp_oid := emp new.
emp_oid set_emp# : emp#_parm;
set_nome : enome parm;
set_pos : pos_parm.
Self add: emp_oid.

Banco de Dados Orientados a Objetos


Vamos inserir agora!
72

Oid_de_conj_de_todos_os_emps
add_emp# : e009
add_enome : helms
add_pos : zelador.

Banco de Dados Orientados a Objetos


Busca
73

| curso_c001, c001_ofers, c001_ni_ofers |


Curso_c001
:= oosoac detect : [:cx | (cx
get_curso#)=c001].
C001_ofers
:= curso_c001 get_ofertas.
C001_ni_ofers
:= c001_ofers select :
[:ox | (ox get_local)=nova york].
^c001_ni_ofers.

Banco de Dados Orientados a Objetos


Excluir
74

E001 := oid_de_conj_de_todos_os_emps
detect : [:ex | (ex get_emp#)=e001].

oid_de_conj_de_todos_os_emps
remove : e001.

Banco de Dados Orientados a Objetos


Operaes no BD
75

Linguagem de definio de Objetos


(ODL)

Banco de Dados Orientados a Objetos


Declarao de uma classe
76

Class <nome> [extends <nome_pai>]


[:<nomes_interfaces>] [(extends
<nome_extenso>)] {<elementos: atributos,
relacionamentos e metodos>
[<declarao_chaves>]}

Banco de Dados Orientados a Objetos


Declaraes
77

Atributos:
Attribute <tipo> <nome>;

Relaciomentos:
Relationship <rangetype> <nome> [inverse
<nome_classe_inv>::<metodo_inv>]

Banco de Dados Orientados a Objetos


78

Rangetype

Declarao:
Set <tipo_conj>

Banco de Dados Orientados a Objetos


79

Metodos:

<tipo_retorno> <nome_metodo>
(<lista_parametros>) [raizes(<lista_exceoes>)]

[in | out | inout] <nome_parametro>

Banco de Dados Orientados a Objetos


80

Chaves no so necessrias!

Banco de Dados Orientados a Objetos


Modelo entidade relacionamento
nome
quanti Id_empresti
ssn endere a mo
o
tipo

cliente emprestant emprestimo


e

Cliente Pertence
de
agencia _a

idagenci localida
Banco de Dados Orientados a Objetos a 81 de
Entidade cliente em ODL
82

Interface cliente {
Attribute string nome;
Attribute integer ssn;
Attribute string addr {string rua, String cidade, int cep}
endereo:
Relationship set<emprestimo> emprestou
inverse emprestimo :: emprestou:
Relationship set<agencia> tem_conta_em
inverse agencia :: clientes:

Key (ssn)
}

Banco de Dados Orientados a Objetos


83

Linguagem de consulta de Objetos


(OQL)

Banco de Dados Orientados a Objetos


84

No tem operaes para atualizaes

Possvel define nome para uma consulta

Contm construtores de objetos

Suporta clausulas

Banco de Dados Orientados a Objetos


Sintaxe OQL igual a SQL
85

Exemplo:

Select d.dnome from d in departamento


where d.faculdade=engenharia;

Banco de Dados Orientados a Objetos


86

Necessrio um ponto de entrada!

Devemos definir uma varivel de interao

Banco de Dados Orientados a Objetos


Trs variveis especificar interaes
87

Banco de Dados Orientados a Objetos


88

Uma consulta s
precisa de um objeto
persistente

Banco de Dados Orientados a Objetos


89

Fazer uma referncia desse modo

Set <departamento>

Banco de Dados Orientados a Objetos


Incluso de objetos no banco
90

Joo := cliente(nome: joo, ssn: 12345,


endereco: struct (rua: rua A, cidade:
salvador, cep: 12345));
Ou
Add emprestimo(quantia: 500, id_emprestimo:
1234, tipo: 2) to joo.emprestou;

Banco de Dados Orientados a Objetos


91

Swizzling
Clustering
Hibernate
Doctrine

Banco de Dados Orientados a Objetos


Swizzling
92

Swizzling o processo de
converso entre a
representao persistente
do objeto, na base de
objetos, e sua
representao dinmica,
na linguagem de
programao orientada a
objetos adotada pela
aplicao, onde o objeto
ser efetivamente
manipulado.
Banco de Dados Orientados a Objetos
Swizzling
93

A converso ocorre:
1. No momento em que o objeto transferido
da base de objetos para o espao de
memria da aplicao (checkout);
2. Quando o objeto, j transferido para a
memria, referenciado pela primeira vez
pela aplicao;
3. Se a aplicao o solicita explicitamente; e
4. Quando no possvel reaproveitar um
endereo fsico designado anteriormente, o
qual registrado tambm na base de dados.

Banco de Dados Orientados a Objetos


Clustering
94

Objeto Complexo

Adoo de estratgias de
A
alocao de objetos no D

sistema de
armazenamento de
modo a minimizar a
C
quantidade de pginas
necessrias para
manipular objetos. B

Banco de Dados Orientados a Objetos


Estratgias de Clustering
95

Referncias Objetos complexos Tipos de objetos

A B C A B C AA AB AC

ndices Denio do usurio

A1 A2 A3 A B (A.atr)

Banco de Dados Orientados a Objetos


Hibernate
96

O Hibernate uma ferramenta de mapeamento


objeto/relacional para Java. Ela transforma os
dados tabulares de um banco de dados em
um grafo de objetos definido pelo
desenvolvedor.
A utilizao do Hibernate consiste em:

1. criar as classes ;
2. mapear cada uma das classes feitas;
3. criar os arquivo de configurao do hibernate;

Banco de Dados Orientados a Objetos


Doctrine

O Doctrine um mapeador de
objetorelacional que utiliza
objetos em PHP.
Banco de Dados Orientados a Objetos 97
Vantagens
98

Capacidade de Armazenamento de Objetos;


Os Objetos se comunicam entre si atravs de
mensagens;
Permitem representar a semntica do problema do
mundo real;
Manipulam objetos complexos;
Objetos podem ser reusados;
Melhor gerenciamento de transao e
concorrncia;
Linguagem de consulta mais expressiva;
Melhor suporte para trabalho cooperativo.

Banco de Dados Orientados a Objetos


Desvantagens
99

Falta de Padronizao das linguagens de


manipulao dos dados;

Alto custo de aquisio das novas


tecnologias;

Curva de aprendizagem e adaptao ao


novo ambiente demorada.

Banco de Dados Orientados a Objetos


Tendncias
100

Entre as tendncias
emergentes neste
contexto est o
armazenamento em
memria.

Prevayler (2006);

SOA (Service Oriented


Architecture)

Banco de Dados Orientados a Objetos


Concluso
101

A evoluo dos SGBDOOs facilitar a forma de


se trabalhar com dados mais complexos e com
os objetos das LPOOs.

O paradigma de objeto relacional ainda no


esta bem consolidado no mercado de trabalho,
porm vem ganhando seu espao rapidamente
devido ao seu conjunto de caractersticas que
facilitam a implementao da persistncia.

Banco de Dados Orientados a Objetos


Referncias
102

Jefferson A. do Rosario, Hemerson L. S. Carlin e Alexandre S.


Cardoso. Bancos de Dados Orientados a Objetos e
Objeto/Relacional. UNIOESTE Universidade Estadual do
Oeste do Paran, 2009.
Clodis Boscarioli, Anderson Bezerra, Marcos de Benedicto,
Gilliard Delmiro. Uma reflexo sobre Banco de Dados
Orientados a Objetos. UNIOESTE Universidade Estadual do
Oeste do Paran / FASP - Faculdades Associadas de So
Paulo, 2006.
Cattel, R.G.G. Object-Oriented and Extended Relational
Database Systems. Addison-Wesley, 1994.
Cattell, R.G.G. The Object Database Standard: ODMG-93 -
Release 1.2, Morgan Kaufmann Publishers, inc., 1996.
Leonardo Jones, Luis Alberto, Murilo de Lima. Bancos de
Dados Orientados a Objetos. Universidade Federal da Bahia,
2007.

Banco de Dados Orientados a Objetos