A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Bancos de Dados com Objetos

Apresentações semelhantes


Apresentação em tema: "Bancos de Dados com Objetos"— Transcrição da apresentação:

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

36


Carregar ppt "Bancos de Dados com Objetos"

Apresentações semelhantes


Anúncios Google