seminario bdo
TRANSCRIPT
Professor: Cleber Mira
Dourados, 11 de abril de 2015
Aluno: Jose Roberto do Amaral
Aluno: Jose Roberto do Amaral
Dourados, 11 de abril de 2015
Banco de Dados
a
objeto
orientado
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Orientação a Objeto - Teve origem nas Linguagem de Programação OO
Foi aplicada a várias áreas da computação
Engenharia de software
Base de conhecimentos
Inteligência artificial
Banco de dados
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Conceitos principais da Orientação a Objeto
Os principais conceitos da programação OO são:
Herança
Polimorfismo
Encapsulamento
Mensagem
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Componentes da Orientação a objeto
conceitos são implementados pela classe e pelos objetos
Classe
Objetos
Identificador de Objeto (OID)
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Classes
Agrupa objetos com a mesma estrutura e comportamento, formando uma
coleção de objetos
classe: Pessoa
Objeto = ocorrência de uma classe
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Atributos e Métodos
Atributos: caracterizam e definem a classe, cada atributo tem um nome
e tipo associado.
Métodos: Definem as funcionalidades da classe, procedimentos
associados ao objeto
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Atributos e Métodos
Objeto
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Herança
Herança: permite que classes compartilhem métodos e atributos entre si
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Polimorfismo
É um recurso a onde uma mais classes compartilham os mesmo métodos
de uma outra classe que tem a mesma assinatura, mas comportamento
distintos.
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Mensagens
Quando um objeto deseja uma informação sobre um outro objeto
Quando deseja modificar o estado de outro objeto.
Exemplo:
func.aumentasalario(20, NovoSalario)
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
O que é um Banco de Dados Orientado a Objetos?
Um banco de dados orientado a objeto é um sistema em que cada
informação é armazenada na forma de objeto.
Com os mesmos conceitos das linguagens de programação orientada
a objeto.
Diferenças é a persistência dos objetos
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Motivação
A necessidade de manipulação e armazenamento de dados complexos
Atender os requisitos de aplicações não convencionais
Engenharia e manufatura (CAD/CAM, CIM)
Aplicações cientificas (Meteorologia, Genética)
Aplicações envolvendo dados geográficos(GIS)
Aplicações multimídia
Funcionalidades que vão além do que o modelo relacional.
Acompanhar a evolução da Linguagem de programação
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Entendo os Objetos no Banco de Dados
Cada objeto é representado como com um identificador.
Pode-se gerenciar objetos compostos
Um objeto definido dentro do outro.
Normalmente o objeto possui 2 componentes:
estado(valor)
comportamento(operações)
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Objetos– Identificadores de Objeto (OID)
Uma correspondêcia direta entre o objetos do mundo real e os objetos do
BDOO
É identificador que o diferencia de todos os demais objetos durante a sua
existência.
Cada OID é único
É gerado pelo sistema (SGBDOO)
É independente do endereço de armazenamento
É imutável
É desejável que seja utilizado apenas uma vez (mesmo após a exclusão do objeto) – UNIQUE
Podem ser utilizados para estabelecer relacionamento entre objetos.
Não é visível ao usuário externo.
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma representação Gráfica
Pessoas
ID
Nome
Apelido
Empregados
Departamento
Cargo
0023 Jose Roberto
Vendas
Supervisor
Beto
0026
Instancia do objeto
Empregados
Classe
Sub-classe
herda
Atributos da
classe
pessoas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Persistência dos Objetos
Sem dúvida alguma uma das grandes característica desse modelo de banco
de dados é a persistência de objetos.
Objetos Transientes
Existem somente durante a execução de um programa.
Objetos Persistentes
Persistem após a execução de um programa e podem ser
posteriormente recuperados e compartilhados com outros programas.
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão da representação do objeto em cada modelo.
Modelo Objeto Modelo relacional
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Objetos complexos
Objetos podem ser agregados para formar objetos compostos
EX.: capítulos podem ser agrupados para formar um livro
Agrupamento pode ocorrer em diversos níveis
Parágrafos formam uma seção, seções formam um capítulo ...
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Acesso aos Dados
Acesso aos dados podem ser feito de duas formas;
Linguagem de programação usando os OIDs dos objetos
Linguagem de consulta em geral derivada da SQL.
ODMG – (object data management group)
Definição de Dados- (ODL)
O objetivo da ODL é criar especificações de objetos, isto é, classes e
interfaces
Linguagem de Consulta de Objetos - (OQL)
Suporte ao tratamento de objetos complexos, invocação de métodos,
herança e polimorfismo
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Controle de Transações
Difere das aplicações tradicionais
Utiliza-se de transações de longa duração.
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Relacionamentos
Não possuem um elemento especifico para representação dos
relacionamentos.
Pode ser feita por vereáveis de instância que armazenam o OIDs dos
objetos
Alguns sistemas implementam e mantêm a integridade referencial.
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Vantagens
Capacidade de armazenamento
Desempenho das consultas, por não ter chaves os objetos se
comunicam
Reuso do codigo
Desvantagens
A falta de padronização das linguagens de manipulação de dados
Custo de aquisição de novas tecnologias
Curva de aprendizagem e adaptação do ambiente.
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Porque utilizar banco de dados orientado a objeto
Agilizam o desenvolvimento de aplicações, pois não são necessárias
conversões do modelo OO para o modelo relacional.
Fácil manutenção.
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Bancos de dados OO no mercado
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
DB4o – Na terra de gigantes do BD Relacional
O db4o é um banco de dados orientado a objetos que trata objetos
nativamente como base de dados; nele não existem tabelas, linhas
ou colunas , só objetos.
O db4o também não usa a linguagem SQL - CRUD (Create, Read,
Update e Delete) mas utiliza uma outra tecnologia chamada
de Native Query´s para tratar objetos.
Disponibiliza acesso direto ao banco sem utilizar ORM (Mapeamento
Objeto-Relacional).
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Estrutura de armazenamento / segurança do db4o através de um ou mais arquivos (a escolha é sua) gravados de forma binária.
Pode-se inserir senha.
A capacidade máxima de um arquivo de objetos é de 254 GB.
Funcionalidades usadas no db4o
Db4oFactory - Oferece métodos (estáticos) para abrir/fechar um banco de dados, se
conectar e iniciar um servidor; IObjectContainer - É o coração do db4o para persistência de dados(objetos)
Close - fecha a instância;
Commit - confirma uma transação;
Store - armazena novos objetos ou atualiza objetos já armazenados; (O método Set esta
obsoleto)
Get - Interface Query-by-example para retornar objetos; (QueryByExample)
Delete - Deletar um objeto armazenado;
Query<T> - Efetua uma pesquisa e retorna uma lista tipada;
RoolBack -anula uma transação;
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Suporta 3 tipos de conexões: Direta - usada em aplicações embarcadas;
Client/Server - A forma padrão de conexão com um SGBD; você terá que criar um
projeto na sua aplicação que será o seu servidor;
Client/Servidor Embutido - Não precisa de um servidor externo; você instancia
um servidor na mesma máquina da aplicação;
Recuperação dos dados
pode ser feita através query nativas, há também
a possibilidade de recuperar as informações através de QbE
(Query by Example)
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Controle de transações
Além do suporte a transações (Commit e Rollback) o db4o oferece a
criação de Sessions (início e fim), fácil manipulação do arquivo de B.D
(Criar, abrir, fechar e pagar) e CRUD em objetos
Indexação
Em apenas uma linha de comando é possível criar / desfazer um índice.
Escolha uma propriedade de sua classe para ser o índice e pronto: o
índice foi criado. Com a mesma facilidade que é criado, o índice também
é removido.
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Desempenho
De acordo com o site do db4o (www.db4o.com), este banco roda até 44
vezes mais rápido que os BDs que já conhecemos (Hibernate com
Mysql). Mais detalhes no site que gerou o benchmark PolePosition
(www.polepos.org).
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Quem está usando DB4o
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Referência Bibliográfica
ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. 6. ed. São
Paulo: Pearson Addison Wesley, 2011. 788p.
SILBERSCHATZ, Abraham; KORTH, Henry F; SUDARSHAN, S. Sistema de bancos de
dados. Sao Paulo, SP: Campus, 2006. 861p.
NASSU, Eugenio Akihiro; SETZER, Valdemar Waingot. Bancos de dados orientados
a objetos. Sao Paulo, SP: Blucher, 2002. 122p.
GUIMARAES, Celio Cardoso. Fundamentos de banco de dados: modelagem,
projeto e linguagem SQL. Campinas, SP: Editora UNICAMP, 2003. 262p.
ALVES, William Pereira. Banco de Dados : teoria e desenvolvimento. São Paulo.
Erica, 2009. 288p.
T.M. Connolly, C.E. Begg. Database Systems 4th Edition: A Practical Approach to
Desing, Implementation, and Management 1136p.
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Schedule
Perspective
Introduction
Objective Perguntas ?
•Embora muitos propositos experimentais e sistemas de banco de dados
comerciais orientado a objeto tenham sido criado, eles não tiveram uso
generalizado por causa da pupolaridade dos sistemas relacionais e
objeto – relacional.
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Introduction
Schedule
Perspective
Uma visão sobre Orientação a Objeto
Conceitos principais da Orientação a Objeto
Componentes da Orientação a objeto
O que é um Banco de Dados Orientado a Objeto
Motivação
Entendendo os objetos no Banco de Dados
Identificador de Objetos(OID)
Persistência dos objetos
Objetos Complexos
Acesso aos Dados
Controle de Transação
Relacionamentos
Vantagens e desvantagens
Porque utilizar Banco de dados OO
Bancos de dados OO no mercado
DB4o – Na terra de gigantes do BD Relacional
Conclusão
Perguntas
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto
Schedule
Perspective
Introduction
Objective Perguntas ?
cidade, 11 de abril de 2015 Banco de Dados Orientado a Objeto