1 / 23

Vantagens na Utilização de Banco de Dados Objeto-Relacional em Sistemas Laboratoriais

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

dasan
Download Presentation

Vantagens na Utilização de Banco de Dados Objeto-Relacional em Sistemas Laboratoriais

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

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

  6. 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)

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

  8. Definição de UDT • SQL99 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 ); /

  9. 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)

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

  11. 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;

  12. 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)

  13. 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)

  14. Experimento

  15. Diagrama Objeto-Relacional

  16. Scripts

  17. Resultados - Inserts 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

  18. Resultados - Selects Volume dados • 20.000 resultados • 20.000 testes • 500.000 pontos grafico

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

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

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

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

  23. 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)

More Related