Your SlideShare is downloading. ×

Bancos de Dados Orientados a Objetos

301

Published on

Banco de Dados Orientados a Objetos apresentado no ERDB 2013

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
301
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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. The Object-Relational Impedance Mismatch Apollo 13 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
  • 4. The Object-Relational Impedance Mismatch A UML class model. 4
  • 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
  • 8. Técnicas de Mapeamento 8
  • 9. Generalização no Mapeamento 9
  • 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
  • 23. Arquitetura do db4o 23
  • 24. Modelo do Exercício 24
  • 25. Implementação Prática 25
  • 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

×