SlideShare uma empresa Scribd logo
1 de 28
Bancos de Dados Orientados a
Objetos
Programa de Pós-Graduação em Computação Aplicada
Palestrante: Glaucio Scheibel
Prof. orientador: Fabiano Baldo, Ph.D
UNIVERSIDADE DO ESTADO DE SANTA CATARINA-UDESC
CENTRO DE CIÊNCIAS TECNOLÓGICAS-CCT
v1.2
The Object-Relational Impedance
Mismatch
Apollo 13
2
The Object-Relational Impedance
Mismatch
• Dois modelos incompatíveis.
• Codificar o mapeamento é difícil e custoso.
• O mapeamento é considerado OverHead.
• Termo criado por Scott Ambler (2006).
– http://www.agiledata.org/essays/impedanceMismatch.html
3
The Object-Relational Impedance
Mismatch
A UML class model.
4
The Object-Relational Impedance
Mismatch
A physical data model (UML notation)
5
Abordagens para Persistência de
Objetos
• Gateway-Based Object Persistence (GOP)
– Um middleware faz a ponte entre a aplicação OO
e o banco de dados não OO.
– Modelo mais usado. Ex: Hibernate
• Object-Relational DBMSs (ORDBMSs)
– Modelo bottom-up onde uma solução de base
relacional é estendida a também suportar o
modelo orientado a objetos.
– ANSI X3H2 - SQL3.
6
Abordagens para Persistência de
Objetos
• Object-Oriented DBMSs (OODBMSs)
– Modelo top-down onde é criado um modelo
orientado a objetos que reflete o modelo utilizado
pela aplicação.
7
Técnicas de Mapeamento
8
Generalização no Mapeamento
9
The Object-Oriented Database System
Manifesto - Malcolm Atkinson
• Objetos complexos
• Identidade do Objeto (OID)
• Encapsulamento
• Tipos e classes
• Hierarquia
• Sobrecarga, sobre-escrita e late-binding
• Computational completeness
10
The Object-Oriented Database System
Manifesto - Malcolm Atkinson
• Extensibilidade
• Persistência
• Administração de armazenamento secundário
• Concorrência
• Recovery
• Query’s ad hoc
11
GOP ORDBMS OODBMS
Object ID
Complex Objects
Composite Objects
Relationships
Encapsulation
Inheritance
Polimorphism
Navigation
Ad hoc Queries
Schema evolution
Integrity constraints
and triggers
Comparação
2008 Tauro, Clarence J. M.; Ganesan, N.; Kumar Sahai, Ritesh; Rani A, Sandhya
12
Além do Manifesto
• Utilitários de administração
• Definição de views
• Roles
– Papéis podem ser definidos dinamicamente.
• Evolução do banco de dados
– Schema e dados devem poder evoluir.
• Constraints
13
ODMG
• Object Database Management Group
• Fundada em 1991 e dissolvida em 2001
• Ultima versão da especificação:
– The Object Data Standard ODMG 3.0
• ODBTWG
– OMG Object Database Technology Working Group
– OMG “Next Generation” Object Database
Standard (“ODMG 4.0”)
14
ODMG 3.0
• Object Model
• Object Specification Languages
– ODL Object Definition Language
– OIF Object Interchange Format
• Object Query Language
– OQL
• Language Bindings
– C++
– Smalltalk
– Java
15
Object Model
• OID
– Identificador do objeto
• Interface
– Só comportamento
• Class
– Comportamento e estado
• Literal
– struct
• IS-A
– herança de
comportamento
• Extends
– Herança de
comportamento e estado
• Extent
– Plural
• Collections
– set, bag, list, array ,
dictionary
16
ODL
class Author (extent Authors) {
attribute string name;
attribute date birthday;
relationship set<Publication> authors inverse
Publication::authored_by;
integer get_age();
};
class Publication (extent Publications) {
attribute string title;
attribute integer year;
relationship list<Author> authored_by inverse
Author::authors;
};
17
OIF
Sarah Person {
Name "Sarah",
Person Address {
Street "Willow Road",
City "Palo Alto",
Phone {
CountryCode 1,
AreaCode 415,
PersonCode 1234
}
}
}
18
OQL
select a.authors.title from Authors a
where a.name = "Tilmann Zaeschke“
select a.name from Authors a
where exists b in Books:
b.price < 20 and b in a.authors
19
Bancos OO
• Versant
– Versant Object Database
– FastObjects
– db4o
• Intersystems
– Caché
– Global
• McObject
– eXtremeDB
– Perst
• Progress
– ObjectStore
• ObjectDB
– ObjectDB
http://www.odbms.org/vendors.aspx
20
db4o
• Open source native object database for Java and .NET
– Patrocinado pela Versant.
– Dual License: GPL, dOCL e Comercial.
• Key features
– Sem conversão ou mapeamento.
– Não há necessidade de mudanças nas classes.
– Uma linha de código para armazernar o objeto de
qualquer complexidade.
– Modo embarcado e cliente/servidor.
– Modelo ACID.
– Cache de objetos.
– Versionamento do schema do banco de dados.
21
db4o Queries
• Native Queries (NQ)
– Expressada na linguagem de programação através
de predicados.
– Transformada em S.O.D.A.
• Query By Example (QbE)
– Pesquisa baseada em protótipos.
• Simple Object Data Access (S.O.D.A.)
– Pesquisa baseada na noção de grafos de query.
– Métodos para montar o grafo e as restrições.
22
Arquitetura do db4o
23
Modelo do Exercício
24
Implementação Prática
25
Referências
• Atkinson, M., Bancilhon, F., DeWitt, D., Ditrich, K.,
Maier, D., Zdonik, S.: The Object-Oriented
Database Manifesto. In: Proceedings of
International Conference on Deductive and
Object-Oriented Databases. (1989) 223-240
• The Object Data Management Standard: ODMG
3.0 R. G.G. Cattell, Douglas K. Barry, Mark Berler,
Jeff Eastman, David Jordan, Craig Russell, Olaf
Schadow, Torsten Stanienda, and Fernando Velez
26
Referências
• Elmasri, Ramez – Sistema de bancos de dados
6. ed Pearson Addison Wesley, 2011
• DB4O 8.0 Reference – Versant Corporation
• Spindler, Alexandre de – Object Databases
Lecture Swiss Federal Institute of Tecnology
Zurich
– http://www.globis.ethz.ch/education/oodb
27
Referências
• Tauro, Clarence J. M.; Ganesan, N.; Kumar
Sahai, Ritesh; Rani A, Sandhya - Comparative
Study on Object Persistence Methods -
International Journal of Computer
Applications, vol. 42, issue 7, pp. 17-25
28

Mais conteúdo relacionado

Destaque

«Управління інноваційним розвитком регіональної системи післядипломної педаго...
«Управління інноваційним розвитком регіональної системи післядипломної педаго...«Управління інноваційним розвитком регіональної системи післядипломної педаго...
«Управління інноваційним розвитком регіональної системи післядипломної педаго...Светлана Брюховецкая
 
Franquia de Salões de Beleza - UAU, Express
Franquia de Salões de Beleza - UAU, ExpressFranquia de Salões de Beleza - UAU, Express
Franquia de Salões de Beleza - UAU, ExpressLucio Rodrigues
 
CRUCIGRAMA
CRUCIGRAMACRUCIGRAMA
CRUCIGRAMAlore2512
 
Disenoinstruccional
DisenoinstruccionalDisenoinstruccional
DisenoinstruccionalPedro Melean
 
AlanAdlari.com'un Getirecekleri
AlanAdlari.com'un GetirecekleriAlanAdlari.com'un Getirecekleri
AlanAdlari.com'un Getirecekleriyildirimokan
 
Webinar launchmetrics - Cómo organizar un evento con influencers
Webinar launchmetrics - Cómo organizar un evento con influencersWebinar launchmetrics - Cómo organizar un evento con influencers
Webinar launchmetrics - Cómo organizar un evento con influencersLaunchmetrics
 
3ª reunión 7º b
3ª reunión 7º b3ª reunión 7º b
3ª reunión 7º bprofesoraudp
 
Modelagem 3D de personagens para jogos
Modelagem 3D de personagens para jogosModelagem 3D de personagens para jogos
Modelagem 3D de personagens para jogosDavid Ruiz
 
Викладання інформатики у 2013-2014 н.р. за новим Державним стандартом базової...
Викладання інформатики у 2013-2014 н.р. за новим Державним стандартом базової...Викладання інформатики у 2013-2014 н.р. за новим Державним стандартом базової...
Викладання інформатики у 2013-2014 н.р. за новим Державним стандартом базової...Светлана Брюховецкая
 
La atmosfera terrestre
La atmosfera terrestreLa atmosfera terrestre
La atmosfera terrestreprofesoraudp
 
Manual de Identidade Visual - TESQ
Manual de Identidade Visual  - TESQManual de Identidade Visual  - TESQ
Manual de Identidade Visual - TESQBia Lima
 
Consequences Of Poor Communication By Tripurari Pandey
Consequences Of Poor Communication By Tripurari PandeyConsequences Of Poor Communication By Tripurari Pandey
Consequences Of Poor Communication By Tripurari PandeySoumyashree Panigrahi
 
Metodologia projectual
Metodologia projectualMetodologia projectual
Metodologia projectualJoana Paraíso
 
Resumen y Análisis del libro Hacia Rutas Salvajes (Jon Krakauer)
Resumen y Análisis del libro Hacia Rutas Salvajes (Jon Krakauer)Resumen y Análisis del libro Hacia Rutas Salvajes (Jon Krakauer)
Resumen y Análisis del libro Hacia Rutas Salvajes (Jon Krakauer)Great Ayuda
 

Destaque (19)

«Управління інноваційним розвитком регіональної системи післядипломної педаго...
«Управління інноваційним розвитком регіональної системи післядипломної педаго...«Управління інноваційним розвитком регіональної системи післядипломної педаго...
«Управління інноваційним розвитком регіональної системи післядипломної педаго...
 
KUHS
KUHSKUHS
KUHS
 
Franquia de Salões de Beleza - UAU, Express
Franquia de Salões de Beleza - UAU, ExpressFranquia de Salões de Beleza - UAU, Express
Franquia de Salões de Beleza - UAU, Express
 
Fleur
FleurFleur
Fleur
 
CRUCIGRAMA
CRUCIGRAMACRUCIGRAMA
CRUCIGRAMA
 
шаблон пн 26.11.12изм
шаблон пн 26.11.12измшаблон пн 26.11.12изм
шаблон пн 26.11.12изм
 
Disenoinstruccional
DisenoinstruccionalDisenoinstruccional
Disenoinstruccional
 
AlanAdlari.com'un Getirecekleri
AlanAdlari.com'un GetirecekleriAlanAdlari.com'un Getirecekleri
AlanAdlari.com'un Getirecekleri
 
Webinar launchmetrics - Cómo organizar un evento con influencers
Webinar launchmetrics - Cómo organizar un evento con influencersWebinar launchmetrics - Cómo organizar un evento con influencers
Webinar launchmetrics - Cómo organizar un evento con influencers
 
3ª reunión 7º b
3ª reunión 7º b3ª reunión 7º b
3ª reunión 7º b
 
Modelagem 3D de personagens para jogos
Modelagem 3D de personagens para jogosModelagem 3D de personagens para jogos
Modelagem 3D de personagens para jogos
 
Викладання інформатики у 2013-2014 н.р. за новим Державним стандартом базової...
Викладання інформатики у 2013-2014 н.р. за новим Державним стандартом базової...Викладання інформатики у 2013-2014 н.р. за новим Державним стандартом базової...
Викладання інформатики у 2013-2014 н.р. за новим Державним стандартом базової...
 
La atmosfera terrestre
La atmosfera terrestreLa atmosfera terrestre
La atmosfera terrestre
 
Servidores de impressão
Servidores de impressãoServidores de impressão
Servidores de impressão
 
Personal Kanban
Personal KanbanPersonal Kanban
Personal Kanban
 
Manual de Identidade Visual - TESQ
Manual de Identidade Visual  - TESQManual de Identidade Visual  - TESQ
Manual de Identidade Visual - TESQ
 
Consequences Of Poor Communication By Tripurari Pandey
Consequences Of Poor Communication By Tripurari PandeyConsequences Of Poor Communication By Tripurari Pandey
Consequences Of Poor Communication By Tripurari Pandey
 
Metodologia projectual
Metodologia projectualMetodologia projectual
Metodologia projectual
 
Resumen y Análisis del libro Hacia Rutas Salvajes (Jon Krakauer)
Resumen y Análisis del libro Hacia Rutas Salvajes (Jon Krakauer)Resumen y Análisis del libro Hacia Rutas Salvajes (Jon Krakauer)
Resumen y Análisis del libro Hacia Rutas Salvajes (Jon Krakauer)
 

Semelhante a BD Objetos-OODBMs

Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos Raquel Machado
 
Introdução a JPA (2010)
Introdução a JPA (2010)Introdução a JPA (2010)
Introdução a JPA (2010)Helder da Rocha
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento ORNécio de Lima Veras
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documentoAlex Martins
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetosDaiana de Ávila
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaGlaucio Scheibel
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Introdução no sql mongodb java
Introdução no sql mongodb javaIntrodução no sql mongodb java
Introdução no sql mongodb javaFabiano Modos
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Thiago de Azeredo
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J Daniel San Martin
 

Semelhante a BD Objetos-OODBMs (20)

Banco de dados orientados a objetos
Banco de dados orientados a objetos Banco de dados orientados a objetos
Banco de dados orientados a objetos
 
Introdução a JPA (2010)
Introdução a JPA (2010)Introdução a JPA (2010)
Introdução a JPA (2010)
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
 
Apresentação mapeamento objeto relacional
Apresentação mapeamento objeto relacionalApresentação mapeamento objeto relacional
Apresentação mapeamento objeto relacional
 
No sql Orientado a documento
No sql Orientado a documentoNo sql Orientado a documento
No sql Orientado a documento
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetos
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Artigo oo em bd
Artigo   oo em bdArtigo   oo em bd
Artigo oo em bd
 
Introdução no sql mongodb java
Introdução no sql mongodb javaIntrodução no sql mongodb java
Introdução no sql mongodb java
 
SQL Oracle
SQL OracleSQL Oracle
SQL Oracle
 
Pos-QCon-BigData
Pos-QCon-BigDataPos-QCon-BigData
Pos-QCon-BigData
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Desenvolvimento baseado em componentes
Desenvolvimento baseado em componentesDesenvolvimento baseado em componentes
Desenvolvimento baseado em componentes
 
BDOO
BDOOBDOO
BDOO
 
Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)Introdução ao MongoDB (NoSQL)
Introdução ao MongoDB (NoSQL)
 
Mongo db
Mongo dbMongo db
Mongo db
 
Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J  Banco de Dados em Grafos com Neo4J
Banco de Dados em Grafos com Neo4J
 
Tema3.pptx
Tema3.pptxTema3.pptx
Tema3.pptx
 

Mais de Glaucio Scheibel

Mais de Glaucio Scheibel (11)

Kanban
KanbanKanban
Kanban
 
SQALE Software Quality Assessment based on Lifecycle Expectations
SQALE Software Quality Assessment based on Lifecycle ExpectationsSQALE Software Quality Assessment based on Lifecycle Expectations
SQALE Software Quality Assessment based on Lifecycle Expectations
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Apache e Java
Apache e JavaApache e Java
Apache e Java
 
Logging
LoggingLogging
Logging
 
Servlets e JSP
Servlets e JSPServlets e JSP
Servlets e JSP
 
Programação Paralela - Threads
Programação Paralela - ThreadsProgramação Paralela - Threads
Programação Paralela - Threads
 
Programação Defensiva
Programação DefensivaProgramação Defensiva
Programação Defensiva
 
Tecnologia Java
Tecnologia JavaTecnologia Java
Tecnologia Java
 
Java e Software Livre
Java e Software LivreJava e Software Livre
Java e Software Livre
 
Batalhas com Robocode
Batalhas com RobocodeBatalhas com Robocode
Batalhas com Robocode
 

BD Objetos-OODBMs

  • 1. Bancos de Dados Orientados a Objetos Programa de Pós-Graduação em Computação Aplicada Palestrante: Glaucio Scheibel Prof. orientador: Fabiano Baldo, Ph.D UNIVERSIDADE DO ESTADO DE SANTA CATARINA-UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS-CCT v1.2
  • 3. The Object-Relational Impedance Mismatch • Dois modelos incompatíveis. • Codificar o mapeamento é difícil e custoso. • O mapeamento é considerado OverHead. • Termo criado por Scott Ambler (2006). – http://www.agiledata.org/essays/impedanceMismatch.html 3
  • 5. The Object-Relational Impedance Mismatch A physical data model (UML notation) 5
  • 6. Abordagens para Persistência de Objetos • Gateway-Based Object Persistence (GOP) – Um middleware faz a ponte entre a aplicação OO e o banco de dados não OO. – Modelo mais usado. Ex: Hibernate • Object-Relational DBMSs (ORDBMSs) – Modelo bottom-up onde uma solução de base relacional é estendida a também suportar o modelo orientado a objetos. – ANSI X3H2 - SQL3. 6
  • 7. Abordagens para Persistência de Objetos • Object-Oriented DBMSs (OODBMSs) – Modelo top-down onde é criado um modelo orientado a objetos que reflete o modelo utilizado pela aplicação. 7
  • 10. The Object-Oriented Database System Manifesto - Malcolm Atkinson • Objetos complexos • Identidade do Objeto (OID) • Encapsulamento • Tipos e classes • Hierarquia • Sobrecarga, sobre-escrita e late-binding • Computational completeness 10
  • 11. The Object-Oriented Database System Manifesto - Malcolm Atkinson • Extensibilidade • Persistência • Administração de armazenamento secundário • Concorrência • Recovery • Query’s ad hoc 11
  • 12. GOP ORDBMS OODBMS Object ID Complex Objects Composite Objects Relationships Encapsulation Inheritance Polimorphism Navigation Ad hoc Queries Schema evolution Integrity constraints and triggers Comparação 2008 Tauro, Clarence J. M.; Ganesan, N.; Kumar Sahai, Ritesh; Rani A, Sandhya 12
  • 13. Além do Manifesto • Utilitários de administração • Definição de views • Roles – Papéis podem ser definidos dinamicamente. • Evolução do banco de dados – Schema e dados devem poder evoluir. • Constraints 13
  • 14. ODMG • Object Database Management Group • Fundada em 1991 e dissolvida em 2001 • Ultima versão da especificação: – The Object Data Standard ODMG 3.0 • ODBTWG – OMG Object Database Technology Working Group – OMG “Next Generation” Object Database Standard (“ODMG 4.0”) 14
  • 15. ODMG 3.0 • Object Model • Object Specification Languages – ODL Object Definition Language – OIF Object Interchange Format • Object Query Language – OQL • Language Bindings – C++ – Smalltalk – Java 15
  • 16. Object Model • OID – Identificador do objeto • Interface – Só comportamento • Class – Comportamento e estado • Literal – struct • IS-A – herança de comportamento • Extends – Herança de comportamento e estado • Extent – Plural • Collections – set, bag, list, array , dictionary 16
  • 17. ODL class Author (extent Authors) { attribute string name; attribute date birthday; relationship set<Publication> authors inverse Publication::authored_by; integer get_age(); }; class Publication (extent Publications) { attribute string title; attribute integer year; relationship list<Author> authored_by inverse Author::authors; }; 17
  • 18. OIF Sarah Person { Name "Sarah", Person Address { Street "Willow Road", City "Palo Alto", Phone { CountryCode 1, AreaCode 415, PersonCode 1234 } } } 18
  • 19. OQL select a.authors.title from Authors a where a.name = "Tilmann Zaeschke“ select a.name from Authors a where exists b in Books: b.price < 20 and b in a.authors 19
  • 20. Bancos OO • Versant – Versant Object Database – FastObjects – db4o • Intersystems – Caché – Global • McObject – eXtremeDB – Perst • Progress – ObjectStore • ObjectDB – ObjectDB http://www.odbms.org/vendors.aspx 20
  • 21. db4o • Open source native object database for Java and .NET – Patrocinado pela Versant. – Dual License: GPL, dOCL e Comercial. • Key features – Sem conversão ou mapeamento. – Não há necessidade de mudanças nas classes. – Uma linha de código para armazernar o objeto de qualquer complexidade. – Modo embarcado e cliente/servidor. – Modelo ACID. – Cache de objetos. – Versionamento do schema do banco de dados. 21
  • 22. db4o Queries • Native Queries (NQ) – Expressada na linguagem de programação através de predicados. – Transformada em S.O.D.A. • Query By Example (QbE) – Pesquisa baseada em protótipos. • Simple Object Data Access (S.O.D.A.) – Pesquisa baseada na noção de grafos de query. – Métodos para montar o grafo e as restrições. 22
  • 26. Referências • Atkinson, M., Bancilhon, F., DeWitt, D., Ditrich, K., Maier, D., Zdonik, S.: The Object-Oriented Database Manifesto. In: Proceedings of International Conference on Deductive and Object-Oriented Databases. (1989) 223-240 • The Object Data Management Standard: ODMG 3.0 R. G.G. Cattell, Douglas K. Barry, Mark Berler, Jeff Eastman, David Jordan, Craig Russell, Olaf Schadow, Torsten Stanienda, and Fernando Velez 26
  • 27. Referências • Elmasri, Ramez – Sistema de bancos de dados 6. ed Pearson Addison Wesley, 2011 • DB4O 8.0 Reference – Versant Corporation • Spindler, Alexandre de – Object Databases Lecture Swiss Federal Institute of Tecnology Zurich – http://www.globis.ethz.ch/education/oodb 27
  • 28. Referências • Tauro, Clarence J. M.; Ganesan, N.; Kumar Sahai, Ritesh; Rani A, Sandhya - Comparative Study on Object Persistence Methods - International Journal of Computer Applications, vol. 42, issue 7, pp. 17-25 28