Bancos de Dados Orientados a
Objetos
Programa de Pós-Graduação em Computação Aplicada
Palestrante: Glaucio Scheibel
Prof. ...
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 m...
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 aplic...
Abordagens para Persistência de
Objetos
• Object-Oriented DBMSs (OODBMSs)
– Modelo top-down onde é criado um modelo
orient...
Técnicas de Mapeamento
8
Generalização no Mapeamento
9
The Object-Oriented Database System
Manifesto - Malcolm Atkinson
• Objetos complexos
• Identidade do Objeto (OID)
• Encaps...
The Object-Oriented Database System
Manifesto - Malcolm Atkinson
• Extensibilidade
• Persistência
• Administração de armaz...
GOP ORDBMS OODBMS
Object ID
Complex Objects
Composite Objects
Relationships
Encapsulation
Inheritance
Polimorphism
Navigat...
Além do Manifesto
• Utilitários de administração
• Definição de views
• Roles
– Papéis podem ser definidos dinamicamente.
...
ODMG
• Object Database Management Group
• Fundada em 1991 e dissolvida em 2001
• Ultima versão da especificação:
– The Obj...
ODMG 3.0
• Object Model
• Object Specification Languages
– ODL Object Definition Language
– OIF Object Interchange Format
...
Object Model
• OID
– Identificador do objeto
• Interface
– Só comportamento
• Class
– Comportamento e estado
• Literal
– s...
ODL
class Author (extent Authors) {
attribute string name;
attribute date birthday;
relationship set<Publication> authors ...
OIF
Sarah Person {
Name "Sarah",
Person Address {
Street "Willow Road",
City "Palo Alto",
Phone {
CountryCode 1,
AreaCode ...
OQL
select a.authors.title from Authors a
where a.name = "Tilmann Zaeschke“
select a.name from Authors a
where exists b in...
Bancos OO
• Versant
– Versant Object Database
– FastObjects
– db4o
• Intersystems
– Caché
– Global
• McObject
– eXtremeDB
...
db4o
• Open source native object database for Java and .NET
– Patrocinado pela Versant.
– Dual License: GPL, dOCL e Comerc...
db4o Queries
• Native Queries (NQ)
– Expressada na linguagem de programação através
de predicados.
– Transformada em S.O.D...
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 Ma...
Referências
• Elmasri, Ramez – Sistema de bancos de dados
6. ed Pearson Addison Wesley, 2011
• DB4O 8.0 Reference – Versan...
Referências
• Tauro, Clarence J. M.; Ganesan, N.; Kumar
Sahai, Ritesh; Rani A, Sandhya - Comparative
Study on Object Persi...
Upcoming SlideShare
Loading in...5
×

Bancos de Dados Orientados a Objetos

358

Published on

Banco de Dados Orientados a Objetos apresentado no ERDB 2013

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
358
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Bancos de Dados Orientados a Objetos

  1. 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
  2. 2. The Object-Relational Impedance Mismatch Apollo 13 2
  3. 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
  4. 4. The Object-Relational Impedance Mismatch A UML class model. 4
  5. 5. The Object-Relational Impedance Mismatch A physical data model (UML notation) 5
  6. 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. 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
  8. 8. Técnicas de Mapeamento 8
  9. 9. Generalização no Mapeamento 9
  10. 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. 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. 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. 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. 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. 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. 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. 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. 18. OIF Sarah Person { Name "Sarah", Person Address { Street "Willow Road", City "Palo Alto", Phone { CountryCode 1, AreaCode 415, PersonCode 1234 } } } 18
  19. 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. 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. 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. 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
  23. 23. Arquitetura do db4o 23
  24. 24. Modelo do Exercício 24
  25. 25. Implementação Prática 25
  26. 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. 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. 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

×