Bancos de Dados com Objetos

Slides:



Advertisements
Apresentações semelhantes
Transformação ODMG  Relacional
Advertisements

I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Object Definifion Language - ODL
Estudo de Caso, modelo Oracle 10g
Modelo de Objetos ODMG.
Paulo Marques Hernâni Pedroso
Curso: Banco de Dados I Análise de Sistemas PUC Campinas
O Modelo E-R Definição: Características
Prof.: Bruno Rafael de Oliveira Rodrigues
Prof.: Bruno Rafael de Oliveira Rodrigues
Exemplo dos Internamentos
Modelo Objecto Modelo Objecto ODMG objecto: primitiva base
Maurício Edgar Stivanello
Orientação a Objetos: Encapsulamento e Classificação
Sistema Gerenciador de Banco de Dados SGBD
Introdução aos Sistemas Gerenciadores de Banco de Dados
Sumário 1 Processamento de Consultas 2 Introdução a Transações
Professora: Aline Vasconcelos
Bancos de Dados Pós-Relacionais
Banco de Dados com Objetos
Bancos de Dados Pós-Relacionais Jacques Robin & Bernadette Lóscio CIn-UFPE.
Bancos de Dados Orientados a Objeto
Sistemas de Informação
Robson Godoi / Sandra Siebra
Bancos de Dados – SQL – parte 1
Gerencia de Projeto OO Aspectos Avançados em Engenharia de Software Aula 5 Fernanda Campos DCC/UFJF.
Mapeamento Objeto-Relacional Eduardo Martins Guerra Instituto Tecnológico de Aeronáutica Curso de Pós-Graduação em Engenharia de Software Programação Distribuída.
Administração de Sistemas de Informação Banco de Dados
Arquitetura e Linguagens
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Transformação ODMG Relacional. Implementação Relacional de BDs OO Transformação Esquema Objeto Esquema Relacional Transformação Esquema Objeto Esquema.
Tecnologias de Linguagens para Banco de Dados
Laboratório de Programação I Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Banco de Dados de Objetos
Engenharia do Conhecimento Ernesto Trajano Jacques Robin CIn-UFPE.
Estudo dos Conceitos e Paradigmas de Programação
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 07.
Classes, Objetos, Atributos e Métodos JAVA
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
Desenvolvendo um script SQL
Introdução a Banco de dados
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros
PHP Orientado a Objetos Análise e Desenvolvimento de Sistemas Prof
Banco de Dados Parte 04 Ceça. Ceça Moraes 2 Conteúdo  Os três níveis da arquitetura  Mapeamentos  Arquitetura cliente-servidor.
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Aula prática 14 Orientação a Objetos – C++ Parte 2
PostGres: Um Banco de Dados Orientado a Objetos
Definições de Esquemas, Restrições básicas e buscas
Banco de Dados Aplicado ao Desenvolvimento de Software
Programação Orientada à Objetos
Modelagem de Entidade/Objetos de Domínio com Diagrama de Classes
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Projeto de Sistemas de Informação Prof. Schneider Oracle Object-Relational.
Tipologia dos dados de entrada da mineração de dados Jacques Robin CIn-UFPE.
Ricardo Ferreira Schiavo
Curso de Análise e Desenvolvimento de Sistemas Projeto de Banco de Dados Marcelo da Silveira Siedler.
Banco de Dados I I Comandos SQL
Banco de dados 1 Modelagem de Dados Utilizando MER
Linguagem BD + capacidades OO qVariante da representação OO das encomendas EncomTipo = RECORDOF( e#: int, inclui: SETOF( IQTipo ), cliente: ClienteTipo.
Bancos de Dados Objeto Relacional Modelos e Linguagens
Banco de Dados Relacional Objeto-
ODMG - Object Database Management Group Padrão para SGBDOO Consórcio de pesquisadores e fabricantes Objetivo –integração e padronização de funcionalidades.
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Bancos de Dados.
Modelo Relacional Marcelo Mendes Manaus – 2015.
Projeto de Banco de Dados
Módulo II Capítulo 1: Orientação a Objetos
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Modelagem de Banco de Dados: Conceitos
Transcrição da apresentação:

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 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

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.

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

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

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

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:

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

A lista de materiais em SQL2

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}]

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

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}]

Modelos objeto-relacionais

Características de SQL3

BD de empregados em SQL3

Aplicações e limitações dos modelos OO e OR

Modelo OO x Modelo OR

Modelo dedutivo orientado a objetos: motivação

Serviços de um BD dedutivo orientado a objetos

Tipologia e implementações dos modelos dedutivos orientados a objetos

Características de F-Logic

BD de empregados em F-Logic

Aplicações e limitações dos modelos DOO

Modelo DOO x modelos OO e OR

Modelo ativo orientado a objetos: motivação

Serviços de BD ativo orientado a objetos

Tipologia e implementações dos modelos ativos orientados a objetos

Características de ??

BD de empregados em ??

Aplicações e Limitações do modelo AOO

Modelo AOO x modelos OO e OR

Modelo AOO x modelo DOO

BD e componentes distribuídos orientado a objetos

BD distribuídas heterogêneas e CORBA

Conclusão: contribuição atual da orientação objetos para BD e perspectivas futuras