Carregar apresentação
A apresentação está carregando. Por favor, espere
1
Bancos de Dados com Objetos
Jacques Robin CIn-UFPE
2
Banco de dados com objetos: diversidade dos modelos
Modelo puramente orientado a objetos (OO), ex., O2 Modelo objeto-relacional (OR), ex., SQL3 Modelo ativo orientado a objetos (AOO), ex., Chimera Modelo dedutivo orientado a objetos (DOO), ex., F-Logic Modelo com restrições e objetos (COO), ex., C3 Modelo de componentes distribuídos orientado a objetos (DOOC), ex., CORBA
3
Orientação objetos para BD: motivação
Uniformidade: codificar lógica da aplicação e o acesso aos dados no mesmo paradigma (impedance mismatch) Completude computacional: embutir no BD comportamentos ligados aos dados Expressividade da modelagem: estruturas complexas, recursivas e heterogêneas Modularidade e reuso hierarquia de classes com herança e encapsulamento permite prototipagem, personalização e extensão rápida Integração em sistemas de componentes distribuídos Novas aplicações de BD: CAD/CAM, CASE, GIS, gerenciamento de workflows, groupware, bibliotecas digitais multimídia, comercio eletrónico, etc.
4
Serviços requeridos de um BDOO
Orientação a objetos Identificação única Encapsulamento de estado e comportamento Construtores de estruturas complexas ortogonais e extensíveis Hierarquia de classes (esquema) com herança de estado e comportamento Estado inicial e comportamento default Sobrescrita, sobrecarga e ligação dinâmica Completude computacional Restrições, verificação e inferência de tipos Herança múltipla Acesso completo a recursos Gerenciamento de versões Banco de dados Persistência Otimização de acesso a memória segundaria Acesso concorrente Recuperação: terminação, exceções, transações Linguagem de manipulação: conciso, intuitivo, declarativo, interpretado, otimizável, independente da aplicação, formalmente bem fundamentado Visões e dados derivados Restrições de integridades Manipulação dinâmica de esquema Utilitários administrativos
5
Modelos puramente orientado a objetos
Extensões de LPOO para serviços de BD: resolvem o “impedance mismatch” (com Java, C++, Smalltalk) nenhum já fornece leque de serviços suficiente para constituir um autêntico SGBD (em geral apenas persistência e concorrência) Implementações do padrão ODMG: cobrem maioria dos serviços obrigatórios de BDOO não resolvem “impedance mismatch”: não é computacionalmente completo integração com LPOO via strings e não objetos sintaxe: consultas SQL, definições SQL ( CORBA) semântica: nada a ver com SQL, e de fato sem definição precisa sem fundamentação nos princípios de engenharia de software “padrão” comercial, ainda imaturo, e sem apoio dos gigantes cada vez mais usadas para aplicações avançadas
6
Características de O2 Mais completa das implementações comerciais de ODMG Tipos e classes: tipos primitivos: booleano, caráter, inteiro, real, string tipos compostos: via construtores ortgonais e recursivos de tupla, lista, bag e conjunto aplicados a tipos primitivos e/ou classes definidas pelo usuário classes: tipo definido via construtores de tipos assinaturas do métodos implementação dos métodos: via LPOO ligado (Java, C++, Smalltalk) superclasse(s) Objetos: id única, definido como persistente ou transitório criado via new, herda tipo e métodos da classe
7
Estudo de caso comparativo: A lista de materiais
Problema padrão em indústria da manufatura 3 tarefas teste de linguagem de manipulação e consulta nesse domínio: 1. Descrever um BD brinquedo (com seu esquema) 2. Fazer uma consulta seletiva do BD brinquedo: 3. Fazer uma consulta agregada do BD brinquedo:
8
A lista de materiais: modelo ER
cor fabricante nome idade 1 n possui_frota 1 domicílio Veículo Pessoa #pessoa n 1 produz é-um rua 1 1 localização 1 salário administra 1 Companhia Empregado #companhia qualificação 1 1 n nome_comp possui gerencia trabalha 1 n Subsidiária 1 nome_sub rua localização
9
A lista de materiais em SQL2
10
BD Orientado a Objetos - Exemplo
BD x Aplicações BD Orientado a Objetos - Exemplo classe3: Endereço: [ rua: String, localização: String] classe4: Pessoa: [ nome: String, idade: Integer; domicilio: Endereço, Frota: {Veiculos}] classe5: Empregado is-a Pessoa: [ qualificações: {String}, salário: Integer; Familiares: {Pessoa}]
11
BD Objeto Relacional - Exemplo
BD x Aplicações BD Objeto Relacional - Exemplo Criação de Tipos: CREATE TYPE Subsidiaria ( NomeSub String, Escritório endereço, Empregados SET(REF(Empregado)), ); CREATE TYPE Endereço ( RuaNo VARCHAR(60), Cidade VARCHAR(40), ); CREATE TYPE empregado ( nome CHAR(20), salário DECIMAL(10,2), ); CREATE TYPE Companhia ( NomeComp String, Matriz endereço, Subsidiarias SET(REF(Subsidiaria)), Presidente REF(Empregado), ); Criação de Tabelas: CREATE TYPE Fornecedor ( CodFornec CHAR(4) NomeFornec VARCHAR(40) EndFornec endereço, ); CREATE TABLE Fornecedor OF Fornecedor CREATE TABLE empregados OF Empregado
12
BD de empregados: em O2 + Java
Definição do BD: class Companhia type tuple(name:string, matriz:Endereço, subsidiárias:set(Subsidiária), presidente:Empregado) end; class Subsidiária public escritório:Endereço Consulta seletiva: Consulta agregada: classe1: Companhia: [ nome: String, matriz: Endereço; Subsidiarias: {Subsidiaria}, Presidente: Empregado] classe2: Subsidiaria: [ escritório: Endereço; Gerente: Empregado, Empregados: {Empregado}]
13
Modelos objeto-relacionais
14
Características de SQL3
15
BD de empregados em SQL3
16
Aplicações e limitações dos modelos OO e OR
17
Modelo OO x Modelo OR
18
Modelo dedutivo orientado a objetos: motivação
19
Serviços de um BD dedutivo orientado a objetos
20
Tipologia e implementações dos modelos dedutivos orientados a objetos
21
Características de F-Logic
22
BD de empregados em F-Logic
23
Aplicações e limitações dos modelos DOO
24
Modelo DOO x modelos OO e OR
25
Modelo ativo orientado a objetos: motivação
26
Serviços de BD ativo orientado a objetos
27
Tipologia e implementações dos modelos ativos orientados a objetos
28
Características de ??
29
BD de empregados em ??
30
Aplicações e Limitações do modelo AOO
31
Modelo AOO x modelos OO e OR
32
Modelo AOO x modelo DOO
33
BD e componentes distribuídos orientado a objetos
34
BD distribuídas heterogêneas e CORBA
35
Conclusão: contribuição atual da orientação objetos para BD e perspectivas futuras
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.