Ricardo Ferreira Schiavo

Slides:



Advertisements
Apresentações semelhantes
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Advertisements

Estudo de Caso, modelo Oracle 10g
VI- Implementação Objeto-Relacional
SQL Avançado Continuação
Funcionalidades de um SGBD
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados I 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Projeto de Banco de Dados
Maurício Edgar Stivanello
Sistema Gerenciador de Banco de Dados SGBD
Introdução à Engenharia da Computação
Oficina sobre banco de dados
Bancos de Dados Orientados a Objeto
Banco de Dados Objetos Relacionais
Hibernate Apresentação
MySQL Gerdson de Araújo Silva Universidade Federal de Alagoas Maceió-AL, 21 de maio de 2009.
Banco de dados Profª Kelly Medeiros.
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
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.
Banco de Dados Aplicado ao Desenvolvimento de Software - BDD
Conceitos de SGBD Objeto-Relacional Oracle 10g [2]
Equipe de monitoria Aula prática 4
Equipe de monitoria Aula prática 4
Bancos de Dados Espaciais
Vânia Maria Ponte Vidal
SQL Server 2012 Tipos de Dados e Tabelas
Tópicos de Sistemas de Informação A Carlos Oberdan Rolim Ciência da Computação.
Design Patterns / Acesso ao banco de dados (java.sql)
JSP / Servlets Avançado
UNIVERSIDADE CATÓLICA DE BRASÍLIA 2011 PAULO LIMA aluno FERNANDO GOULART orientador.
Equipe de monitoria Aula prática 4
Primeira aula de PL/SQL Parte II
Especialização em Tecnologia da Informação
Conceitos de SGBD Objeto-Relacional Oracle 10g [1]
III – Oracle10g Apontadores – Tipo de Dado (REF).
III – O Modelo OR Estudo de Caso, modelo Oracle 10g.
III – Oracle10g Funções que Manipulam Apontadores.
III – Oracle 10g Herança.
Banco de dados.
Criação de Tabelas. CREATE TABLE nome_da_tabela ( >>. >> ) Ex.: SQL SERVER 2008 CREATE TABLE pessoa ( CPF VARCHAR(11) NOT NULL, NOME VARCHAR(100) NOT.
A abordagem de banco de dados para gerenciamento de dados
PostGres: Um Banco de Dados Orientado a Objetos
Campus de Caraguatatuba Aula 2: Introdução a Tecnologia de BD
Projeto de Sistemas de Informação Prof. Schneider Oracle Object-Relational.
Bancos de Dados Abordagens de SGBD
SQLite Banco de Dados II.
©Silberschatz, Korth and Sudarshan (modificado)9.1.1Database System Concepts Capítulo 9: BDs Objecto-Relacional Relações imbricadas Tipos complexos e objectos.
III – Oracle 9i Indexação. Índices Baseados em Funções É um índice baseado no valor de retorno de uma expressão ou função –A função pode ser um método.
Banco de Dados I I Comandos SQL
III - Oracle9i Apontadores – Tipo de Dado (REF). Identificador de Objeto A todo objeto de uma “object table” é associado um OID (“Object IDentifier”)
Conceitos de SGBD Objeto-Relacional Oracle 10g [2] Monitoria GDI André Braga, Daniel Penaforte, Domingos Ribeiro, João Pascoal, Maria Carolina.
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
 Introdução  Definindo Visões de Objeto  Usando Visões de Objeto  Atualizando Visões de Objeto.
Linguagem BD + capacidades OO qVariante da representação OO das encomendas EncomTipo = RECORDOF( e#: int, inclui: SETOF( IQTipo ), cliente: ClienteTipo.
III – Oracle 9i Herança. Pessoa EmpregadoEstudante Est. Parcial Pessoa_tab.
Bancos de Dados Objeto Relacional Modelos e Linguagens
Orientação a objetos no ORACLE 9i Extensões para criar objetos complexos TADs (Tipos de Objetos) Tipo Referência (REF) Tipo Coleção Nested Tables (Tabelas.
III – Oracle 9i Herança. Pessoa EmpregadoEstudante Est. Parcial Pessoa_tab.
Tipos e Subtipos CREATE TYPE Pessoa_ty AS OBJECT ( cpf NUMBER, nome VARCHAR2(30), endereço VARCHAR2(100)) NOT FINAL; CRIANDO SUBTIPOS CREATE TYPE Estudante_ty.
Banco de Dados Relacional Objeto-
III – O Modelo OR Estudo de Caso, modelo Oracle9i.
Abr-17 Projetar Base de Dados Projetar base de dados.
Automação Comercial Faculdade Estácio Radial Prof. Paulo Alipio Alves de Oliveira 2010.
Daniel Paulo Introdução Neste capítulo trataremos a relação entre tabelas e FILEGROUPS, bem como a alocação interna de dados.
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
UCSal – Bacharelado em Informática
Banco de Dados -Aprendendo conceitos -Usando o SQL Conf para:
Programação para Internet Aula 11 SQL (Introdução a linguagem, comandos de modificação: Create, Drop, Alter, Insert, Delete, Update)
Aula Prática Objeto-Relacional Monitoria GDI
Transcrição da apresentação:

Ricardo Ferreira Schiavo Vantagens na Utilização de Banco de Dados Objeto-Relacional em Sistemas Laboratoriais Ricardo Ferreira Schiavo ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Profª. Solange Nice Alves de Souza

Introdução Bancos de dados objeto-relacionais Sintaxe SQL99 e Oracle Descrição do experimento Análise de resultados obtidos

Modelo Objeto-Relacional Bancos de dados orientado a objeto suportam tipos complexos de dados, como gráficos, imagens, multimedia, etc Bancos de dados relacionais suportam grandes volumes de dados e consultas complexas O Banco de dados objeto-relacional busca aproveitar as vantagens de ambos

Modelo Objeto-Relacional Muitos SGBDs orientados a objeto falharam por oferecer as não oferecer a eficiencia de otimização disponíveis e conhecidas em SGBDs relacionais OR-SGBDs oferecem muitas das vantagens de OO, porém mantendo o as relações como a abstração fundamental

SQL-99 e Oracle INCITS - InterNational Committee for Information Technology Standards O padrão SQL-99 apresenta a maior parte das funcionalidades objeto relacionais Os diferentes fornecedores se basearam no padrão porém com algumas diferenças na sintaxe

Elementos Objeto-Relacionais - Oracle Tipos de Objetos (UDT) Nested Tables (Tabelas aninhadas) References (REF) VArrays (Varying Arrays) Large Objects (LOBs) Object View (Visão de Objetos)

Tipos definidos pelo usuário Um “user-defined type” ou UDT é essencialmente uma definição de classe, com estrutura e métodos Um UDT pode ser usado de duas formas: Como uma linha em uma tabela Como uma coluna de uma tabela

Definição de UDT SQL99 Oracle CREATE TYPE <nome_do_tipo> AS ( <lista de atributos> <lista de métodos> ); Oracle CREATE TYPE nome_do_tipo AS OBJECT ( id NUMBER, nome VARCHAR2(255), MEMBER FUNCTION get_id RETURN NUMBER /

SELECT e INSERT SELECT t.campo_objeto.atributo, t. t.campo_objeto.metodo() FROM tabela t; INSERT INTO tabela VALUES ( 1, ‘campo texto’, NOME_OBJ (11, ‘texto’) ); (construstor, métodos de comparação (MAP) e ordem (ORDER) criados automaticamente – ordem de atributos na definição)

Herança / Polimorfismo CREATE TYPE Poligono AS OBJECT ( nome varchar(20), pontos Points_obj, MEMBER FUNCTION get_area RETURN NUMBER ) NOT FINAL NOT INSTANTIABLE / CREATE TYPE Quadrado UNDER Poligono ( OVERRIDING MEMBER FUNCTION get_area RETURN NUMBER ); É possível implementar herança múltipla Utilização de herança em tabelas

Nested Tables create type autor as object ( nome varchar(10) ); / create type conj_autores as table of autor; create type livro as object ( titulo varchar(20), autores conj_autores); create table livros of livro nested table autores store as tabela_autores;

Definição de UDT Tipos de Objetos (UDT) Nested Tables (Tabelas aninhadas) References (REF) VArrays (Varying Arrays) Large Objects (LOBs) Object View (Visão de Objetos)

Experimento LIMS Pequena representação de um sistema laboratórial Objetivos Obter descrição e resultado formatado de todos os tipos Calcular regressão linear dos pontos do gráfico Entidades Testes Resultados (Text, Numeric, Date, Graph) Pontos (100 pontos por gráfico)

Experimento

Diagrama Objeto-Relacional

Scripts

Resultados - Inserts Por execução Por execução 4000 resultados 4000 testes 100.000 pontos gráfico Por execução 40.000 resultados 40.000 testes 1.000.000 pontos gráfico

Resultados - Selects Volume dados 20.000 resultados 20.000 testes 500.000 pontos grafico

Resultados - Selects Volume dados 140.000 resultados 140.000 testes 3.500.000 pontos gráfico

Resultados – Regressão Linear 500.000 pontos gráfico O-R Elapsed: 00:00:00.20 Statistics ---------------------------------------------------------- 3 recursive calls 0 db block gets 4163 consistent gets 0 physical reads 0 redo size 615 bytes sent via SQL*Net to client 381 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed Relacional Elapsed: 00:00:00.06 Statistics ---------------------------------------------------------- 4 recursive calls 0 db block gets 1205 consistent gets 0 physical reads 0 redo size 512 bytes sent via SQL*Net to client 381 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed

Resultados – Regressão Linear 3.500.000 pontos gráfico O-R Elapsed: 00:00:17.16 Statistics ---------------------------------------------------------- 132 recursive calls 0 db block gets 28074 consistent gets 19729 physical reads 0 redo size 616 bytes sent via SQL*Net to client 381 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed Relacional Elapsed: 00:00:05.73 Statistics ---------------------------------------------------------- 5 recursive calls 0 db block gets 8142 consistent gets 5551 physical reads 0 redo size 512 bytes sent via SQL*Net to client 381 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed

Resultados – Regressão Linear 3.500.000 pontos gráfico – 2ª execução O-R Elapsed: 00:00:16.76 Statistics ---------------------------------------------------------- 2 recursive calls 0 db block gets 27867 consistent gets 20061 physical reads 0 redo size 616 bytes sent via SQL*Net to client 381 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed Relacional Elapsed: 00:00:04.86 Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 8069 consistent gets 5438 physical reads 0 redo size 512 bytes sent via SQL*Net to client 381 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 1 rows processed

Conclusão Os componentes objeto-relacional presentes no Oracle permitem uma melhor organização da hierarquia das entidades e do código A performance e escalabilidade de tabelas de objetos ainda é inferior a estrutura equivalente relacional, porém satisfatórias Podem ser criados métodos para realizar operações nos elementos complexos (LOBs, multimídia) sem que seja necessária a transmissão de toda a informação da base de dados para os clientes Novas tendências de Mapeamento objeto-relacional (ORM)