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

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

Bancos de Dados com Objetos Jacques Robin CIn-UFPE.

Apresentações semelhantes


Apresentação em tema: "Bancos de Dados com Objetos Jacques Robin CIn-UFPE."— 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., O 2 * 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., C 3 * 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 O 2 * Mais completa das implementações comerciais de ODMG * Tipos e classes: tipos primitivos: booleano, caráter, inteiro, real, string tipos compostos: via construtores t ortgonais e recursivos de tupla, lista, bag e conjunto t aplicados a tipos primitivos e/ou classes definidas pelo usuário classes: t tipo definido via construtores de tipos t assinaturas do métodos t implementação dos métodos: via LPOO ligado (Java, C++, Smalltalk) t 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 Companhia Subsidiária Pessoa Empregado nome_comp localização #companhia nome_subrualocalização qualificação salário nome idade domicílio Veículo produz é-um modelo fabricantecor possui administra trabalha rua gerencia possui_frota #pessoa n 1 1 n n 1 n A lista de materiais: modelo ER

9 A lista de materiais em SQL2

10 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}] BD Orientado a Objetos - Exemplo BD x Aplicações

11 BD Objeto Relacional - Exemplo CREATE TYPE Endereço ( RuaNoVARCHAR(60), CidadeVARCHAR(40), ); CREATE TYPE Fornecedor ( CodFornec CHAR(4) NomeFornec VARCHAR(40) EndFornec endereço, ); CREATE TYPE empregado ( nome CHAR(20), salário DECIMAL(10,2), ); CREATE TABLE Fornecedor OF Fornecedor CREATE TABLE empregados OF Empregado CREATE TYPE Companhia ( NomeComp String, Matrizendereço, Subsidiarias SET(REF(Subsidiaria)), PresidenteREF(Empregado), ); CREATE TYPE Subsidiaria ( NomeSub String, Escritório endereço, Empregados SET(REF(Empregado)), ); Criação de Tipos: Criação de Tabelas: BD x Aplicações

12 BD de empregados: em O 2 + 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 type tuple(name:string, public escritório:Endereço Consulta seletiva: Consulta agregada: classe1: Companhia: [ nome: String, matriz: Endereço; Subsidiarias: {Subsidiaria}, Presidente: Empregado] classe2: Subsidiaria: [ nome: String, 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 Jacques Robin CIn-UFPE."

Apresentações semelhantes


Anúncios Google