Bancos de Dados com Objetos - PowerPoint PPT Presentation

1 / 36
About This Presentation
Title:

Bancos de Dados com Objetos

Description:

Bancos de Dados com Objetos Jacques Robin CIn-UFPE Banco de dados com objetos: diversidade dos modelos Modelo puramente orientado a objetos (OO), ex., O2 Modelo ... – PowerPoint PPT presentation

Number of Views:90
Avg rating:3.0/5.0
Slides: 37
Provided by: BRA994
Category:
Tags: bancos | com | dados | objetos

less

Transcript and Presenter's Notes

Title: Bancos de Dados com Objetos


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
fabricante
cor
modelo
nome
idade
1
n
1
domicílio
possui_frota
Veículo
Pessoa
pessoa
n
1
produz
é-um
rua
1
1
salário
1
localização
1
administra
Companhia
Empregado
companhia
qualificação
1
1
n
nome_comp
possui
trabalha
gerencia
1
n
Subsidiária
1
9
A lista de materiais em SQL2
10
BD Orientado a Objetos - Exemplo
BD x Aplicações
  • 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
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(namestring,
  • matrizEndereço,
  • subsidiáriasset(Subsidiária),
  • presidenteEmpregado)
  • end
  • class Subsidiária
  • type tuple(namestring,
  • public escritórioEndereç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
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com