Banco de dados orientados a objetos

680 visualizações

Publicada em

Apresentação sobre banco de dados orientados a objetos

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
680
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
49
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Banco de dados orientados a objetos

  1. 1. Banco de Dados Orientados a Objetos Rayane Menezes Raquel Machado Programa de Pós-Graduação em Engenharia da Eletricidade – UFMA Prof. Dr. Sofiane Labidi
  2. 2. ROTEIRO • Introdução • Conceito de BDOO • Características do BDOO • Transações • Concorrência • Gerenciamento de recuperação • Versionamento • Consultas • Especificações e Padrões • Considerações
  3. 3. Introdução ● Banco de Dados Relacional ○ Aumento da independência dos dados nos SGBD’s; ○ Disponibilização de um conjunto de funções apoiadas em álgebra relacional para armazenar e recuperar dados; ○ Permite processamento ad hoc. ○ Modelo é feito através de coleções de tabelas onde, cada tabela tem nome, linhas, domínio, atributos, relação e chave.
  4. 4. Introdução ● Banco de Dados Relacional ○ Adequado apenas para aplicações “estruturalmente” simples; ○ Poder de expressão das tabelas é limitado; ○ É complexo o desenvolvimento de um bom projeto relacional, normalizado.
  5. 5. ● Aplicações mais complexas ○ CAD - Projeto Auxiliado por Computador – armazenar dados de projeto de engenharia. ○ CASE - Engenharia de software Auxiliada por Computador – armazenar dados para apoiar desenvolvedores de software. ○ Banco de dados hipertexto - armazenar textos com links. Introdução
  6. 6. ● Maior motivação para o surgimento de novas abordagens para o gerenciamento de dados. ● BDOO - Integração do paradigma de orientação a objetos a sistemas de banco de dados. Introdução
  7. 7. BDOO - Conceito ● É um banco em que cada informação é armazenada na forma de objetos, e só podem ser manipuladas através de métodos pela classe que esteja o objeto. ● Junção dos conceitos de O.O com os conceitos de SGBD. ● Unidade de armazenamento: objeto.
  8. 8. BDOO - Características PERSISTÊNCIA ● A característica que diferencia os BDOO em relação às LPOO. ● Nas LPOO os objetos existem apenas durante a execução do programa. ● Nos BDOO o objeto continua existindo a após o encerramento do programa.
  9. 9. Abordagens para persistência dos objetos ● Persistência por classe – objetos pertencentes às classe assim declaradas são persistentes. ● Persistência por criação – objetos podem se tornar persistentes após sua criação. ● Persistência por referência – objetos referenciados por outros objetos se tornam persistentes. BDOO - Características
  10. 10. OBJETOS COMPLEXOS ● Objetos que contém outros objetos. ● São formados por construtores (conjuntos, listas, tuplas, registros, coleções, arrays) aplicados a objetos simples(inteiros, booleanos, strings). ● Operações de acesso mais complexas. BDOO - Características
  11. 11. IDENTIDADE DO OBJETO (OID) ● Um SGBDOO provê um identificador único para cada objeto independente criado. ● Propriedade essencial: ser imutável. ● Propriedade desejável: um OID não deve ser reutilizado. ● OIDs não podem depender de valores de atributos de objetos. BDOO - Características
  12. 12. ENCAPSULAMENTO ● É possível definir o comportamento de um tipo de objetos, através das operações que podem ser aplicadas externamente aos objetos do mesmo tipo. ● A estrutura interna do objeto permanece escondida, e o acesso ao mesmo se dá somente através das operações definidas.. BDOO - Características
  13. 13. OPERAÇÕES MAIS COMUNS ● Criar um objeto ● Destruir um objeto ● Atualizar um objeto ● Recuperar dados do objeto ● Efetuar algum cálculo
  14. 14. • Especificando o comportamento dos objetos • define class Empregado: • type tuple ( nome: string; • snome: string; • cpf: string; • endereco: string; • sexo: char; • salario: float; ) • operations idade: integer; • criar_emp: Empregado; • excluir_emp: boolean; • end Empregado;
  15. 15. HIERARQUIA DE TIPOS (CLASSES) E HERANÇA ● Classes similares postas em uma hierarquia de especialização. ● É possível a definição de novos tipos a partir de tipos outros predefinidos. ● O novo tipo herdará todas as funções (atributos e operações) do primeiro (supertipo). BDOO - Características
  16. 16. ● EXEMPLO • PESSOA: Nome, Endereço, DataNasc, Idade, CPF • EMPREGADO subtype-of PESSOA: Salario, DataContact • ESTUDANTE subtype-of PESSOA: Matricula, Curso
  17. 17. Transações ● Uma unidade de execução do programa que acessa e, possivelmente, atualiza vários itens. ● Atomicidade | Consistência |Isolamento | Durabilidade ● Transações Demoradas Interação de muitos objetos complexos Longo tempo ● Transações Aninhadas ● Transações em Cooperação
  18. 18. Concorrência • Permite o acesso simultâneo aos dados para vários usuários • Controle de concorrência: Bloqueio Os objetos persistentes podem ser bloqueados • Bloqueio por hierarquia de classe • Bloqueio de objeto complexo
  19. 19. Gerenciamento de recuperação • Estrutura de logs: • Armazenar imagens anteriores e posteriores dos objetos atualizados Imagem anterior Imagem posterior Estado do objeto antes da atualização Estado do objeto depois da atualização
  20. 20. Versionamento • Há necessidade de armazenar versões anteriores devido a uma possível situação de utilização dessa versão. • Conjunto de ferramentas e construções que automatizam ou simplificam a construção e a organização de versões ou configurações. • OID é uma propriedade comum no controle de versões
  21. 21. Consultas • O acesso aos dados pode ser feito de duas formas: • Linguagem de programação que utiliza OID • Linguagem de consultas derivadas do SQL • Padrões e especificações da ODMG
  22. 22. Especificação e Padronização ● ODMG - Object Database Management Group responsável pela padronização de especificações para persistência de objetos de linguagem de programação OO para objetos em banco de dados; ● Escopo da especificação: ○ Object Database Management Systems (ODBMSs) ○ Object-to-Database Mappings (ODMs)
  23. 23. Especificação e Padronização ● Maiores componenentes: ○ Object Model – Modelo de Objeto; ○ Object Specification Languages; ○ Object Query Language;
  24. 24. Object Model – Modelo de Objeto ● É importante porque especifica os tipos de semântica que podem ser definidas explicitamente para um ODMS. ● Determina: ○ As características dos objetos; ○ Os relacionamentos; ○ Chamadas e identificadores;
  25. 25. Object Model – Modelo de Objeto ● Construtores suportados por um ODMS: Object Literal Types Instance Properties Attributes Relationships Operations Schema
  26. 26. Object Specification Languages – Linguagem de Especificação do Objeto • São independentes da linguagem de programação e são usados para representar os sistemas de gerenciamento de dados de objeto • Definem esquemas, estados e operações de um ODMS • Facilitam a migração dos dados entre o banco e a aplicação, garantindo a interoperabilidade
  27. 27. Object Query Language – Linguagem de Consulta de Objetos • É a linguagem de consulta que suporte o modelo de objetos • É próxima a linguagem SQL e agrega as noções de objetos complexos, herança, identidade do objeto, polimorfismo, operações, etc. • Fornece um acesso declarativo ao objeto • Não é uma linguagem completa e pode ser chamada dentro de uma linguagem de programação
  28. 28. ODMG - Especificação • Define padrões para linguagens: • C++ • Smalltalk • Java
  29. 29. Exemplos de banco de dados OO
  30. 30. Exemplo - PostgreSQL CREATE TYPE NOME AS ( primeiro_nome VARCHAR(20), sobrenome VARCHAR(20) ); CREATE TYPE ENDERECO AS ( rua VARCHAR(40), numero INTEGER, bairro VARCHAR(40), cep VARCHAR(10), cidade VARCHAR(40), estado CHAR(2), pais VARCHAR(40) ); CREATE TYPE TELEFONE AS ( ddi CHAR(3), ddd CHAR(3), telefone VARCHAR(20) ); CREATE TYPE CLIENTE AS ( nm_cliente NOME, end_cliente ENDERECO, tel_clienteTELEFONE ); CREATE TABLE TB_CLIENTE( client CLIENTE, fg_ativo INTEGER );
  31. 31. Vantagens • Capacidade de armazenamento de objetos; • Poder de processamento de requisições; • Não possui chave primária nem estrangeira, aumentando o desempenho das consultas e processos; • Objetos se comunicam entre si através de mensagens;
  32. 32. Desvantagens • Falta de padronização das linguagens de manipulação de dados; • Alto custo de aquisição das novas tecnologias; • Curva de aprendizagem e adaptação ao novo ambiente demorada;
  33. 33. Bibliografia • SILBERSCHATZ, Abraham. Sistemas de Banco de Dados. 3 ed. Makron Books (Grupo Pearson). 1999 • NASSU, Euginio A. Banco de dados orientado a objetos. Valdemar W. Setzer – São Paulo: Blucher, 1999 • The Object Data Standard: ODMG 3.0 – Disponível em: http://www.odbms.org/odmg/ Acesso: novembro de 2013
  34. 34. Obrigada pela Atenção! Dúvidas?

×