Fabíola S. Fernandes, Sandra de Amo

Documentos relacionados
Nos últimos anos, diversas áreas modernas de aplicação de banco de dados como comércio eletrônico e sistemas multimídia, estão lidando com o desafio

CPREF-SQL: UMA LINGUAGEM DE CONSULTA COM SUPORTE A PREFERÊNCIAS CONDICIONAIS - TEORIA E IMPLEMENTAÇÃO

NOVAS FUNCIONALIDADES PARA A LINGUAGEM CPREF-SQL COM SUPORTE A PREFERÊNCIAS DO USUÁRIO RESUMO

UTFPR - Universidade Tecnológica Federal do Paraná. Processamento e otimização de consultas

IMPLEMENTAÇÃO DE BANCO DE DADOS

Bases de Dados BDDAD. Linguagem SQL. Comando SELECT Divisão Algébrica. Nelson Freire (ISEP LEI-BDDAD 2015/16) 1/9

Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri. Banco de Dados Processamento e Otimização de Consultas

ROTEIRO Introdução Álgebra e Cálculo Relacional Operações da Álgebra Relacional Classificação de Operadores da Álgebra Relacional Mapeamento AR -> SQL

Álgebra Relacional e SQL operações de interesse

TPref-SQL, uma linguagem de consultas para bancos de dados com suporte a preferências temporais

Manipulação de Dados com SQL

Processamento e Otimização de Consultas

Introdução a Bancos de Dados

Álgebra Relacional e Cálculo Relacional

MÓDULO 8 INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA POR OBJETOS O QUE É A PROGRAMAÇÃO ORIENTADA POR OBJETOS 10

IMPLEMENTAÇÃO DE UM SISTEMA DE REGRAS DE PREFERÊNCIAS TEMPORAIS

MATA60 BANCO DE DADOS Aula: Otimização. Prof. Daniela Barreiro Claro

Linguagem de pesquisa declarativa para banco de dados relacional; 1ª Versão - Desenvolvida pela IBM no laboratório de pesquisa de San José;

Douglas Matheus de Souza Prof. Marcel Hugo, Mestre - Orientador

Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas)

ACH2025. Laboratório de Bases de Dados Aula 15. Processamento de Consultas Parte 2 Otimização. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

SQL Linguagem de Manipulação de Dados SQL DML SQL DML. Exemplo Modelo Relacional. Exemplo ME-R SQL DML CONTINUAÇÃO...

Introdução ao Banco de Dados. Banco de Dados

Tecnologias de Bancos de Dados

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

BANCO DE DADOS I/MODELAGEM DE DADOS Prof. Ricardo Rodrigues Barcelar

onio Baseado em Casos

Avisos. SQL: Visões. Roteiro SELECT. Suporte de SQL para OLAP SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Cronograma das próximas aulas

Prova de Fundamentos de Bancos de Dados 1 a Prova

Princípio dos anos 70 IBM desenvolve a linguagem Sequel para o System R. Renomeada para SQL (Structured Query Language)

Administração de. José Antônio da Cunha CEFET-RN

Unipar Universidade Paranaense Disciplina: Banco de Dados II 3ª Série Profª: Késsia Marchi Profa. Késsia Marchi

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

SGBDs NoSQL Modelos e Sistemas de Colunas e Grafos. Aluno: Jorge Dias Disciplina: IN940

Integração de Mineração de Dados com SGBD Detecção de Agrupamentos

- SQL Linguagem de Manipulação de Dados

SQL-99: Esquema de BD EMPRESA

OTIMIZAÇÃO DE CONSULTAS RELACIONAIS TRABALHO DE PÓS-GRADUAÇÃO

Rápida revisão do Modelo Relacional

Etapa III - Implementação de Operadores da Álgebra Relacional; Etapa IV - Comparação experimental de varredura sequencial x acesso aleatório

Caderno de Introdução Bases Dados

ÁLGEBRA E CÁLCULO RELACIONAL

A Proposal for Customizing Queries on XML documents based on Conditional Preferences

Modelo Entidade-Relacionamento (E-R)

Roteiro. SQL: Visões. Suporte de SQL para OLAP SELECT. Detalhando GROUP BY SQL DML CONTINUAÇÃO CONSULTAS AVANÇADAS. Consultas Avançadas Visões

Processamento de Consultas SPARQL em uma Base Relacional de Entidades

Operações da Álgebra Relacional Operadores Especiais da Álgebra Relacional Renomeação

Álgebra Relacional e SQL

ANÁLISE DE DESEMPENHO DE DIFERENTES SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS EM DIFERENTES AMBIENTES RESUMO

Agenda. Linguagem de Consulta SQL. 1. Introdução Histórico. 1. Introdução BD Relacionais

Bases de Dados. Álgebra Relacional II Junções, agregações, vistas. P. Serendero,

Licenciatura em Informática

Introdução. Introdução. Álgebra Relacional. Linguagens formais de Consulta Modelo Relacional. O que foi visto até agora...

Arquivo. Banco de Dados. Organização dos Arquivos. Banco de Dados. Banco de Dados. Introdução a Computação

PostgreSQL Desenvolvedor

ACH2025. Laboratório de Bases de Dados Aula 14. Bancos de Dados Objeto-Relacional. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

Consultas SQL. Andre Noel

MODELAGEM DE DADOS - INTRODUÇÃO AO SQL: DML. Prof. Angelo Augusto Frozza, M.Sc.

O modelo relacional encontra-se padronizado pela indústria de informática. Ele é chamado de

SQL. Agregações e agrupamentos. Cristina C. Vieira Departamento de Engenharia Eletrónica e Informática

Professor Eros Moura, DSc

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

de Bases de Dados Exame 1

1 Classificadores Bayseanos Simples

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

Introdução ao SQL. Aécio Costa

BANCO DE DADOS. Introdução. Prof. Marcelo Machado Cunha

Exercício Aula Passada. SQL Linguagem de Manipulação de Dados. Exercício Aula Passada. Exercício Aula Passada. Exercício Aula Passada

23/05/12. Consulta distribuída. Consulta distribuída. Objetivos do processamento de consultas distribuídas

Banco de Dados I. Aula 17 - Prof. Bruno Moreno 08/11/2011

BASES DE DADOS I LTSI/2. Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011

Tornou-se um padrão de fato para aplicações comerciais, devido a sua simplicidade e performance.

Inteligência nos Negócios (Business Inteligente)

Subconsulta na Cláusula FROM

Laboratório de Banco de Dados. Prof. Luiz Vivacqua.

Implementação de BDs Temporais

TPref-SQL: uma linguagem de consultas para bancos de dados com suporte a preferências temporais

Principais Desafios dos SGBDDs. Processamento Distribuído de Consultas. Processamento de Consultas. Componentes do Processamento de Consultas

SQL Consultas Básicas

Sumário. Banco de Dados Temporal (BDT)

INF01145 Fundamentos de Banco de Dados Plano de ensino

MÓDULO 10 INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA POR OBJETOS O QUE É A PROGRAMAÇÃO ORIENTADA POR OBJETOS 10

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

MATA60 BANCO DE DADOS Aula 10- Indexação. Prof. Daniela Barreiro Claro

Aula 8 BD1 Álgebra Relacional. Profa. Elaine Faria UFU

Reindexação Automática em SGBDs Relacionais

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

Introdução ao PostgreSQL

INE 5423 Banco de Dados I

CPrefSQL-Tool: Uma Ferramenta Web para Consultas com Suporte a Contextos e Preferências do Usuário

Introdução a. π LNAME, FNAME (σ SALARY>C (EMPLOYEE))

Bruno Tomazela Orientadora: Profª Drª Cristina Dutra de Aguiar Ciferri. 04 de Abril de 2008

Laboratório de Banco de Dados II Aula 04. Prof. Érick de Souza Carvalho

Modelos de Dados Temporais

Transcrição:

Implementação de uma Linguagem de Consulta com Suporte a Preferências Condicionais Fabíola S. Fernandes, Sandra de Amo UNIVERSIDADE FEDERAL DE UBERLÂNDIA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

MOTIVAÇÃO Viagens ( Destino, Temporada, Roteiro, Transporte, Categoria ) Minhas preferências: (1) Em geral, prefiro viajar para praia do que para um centro urbano; (2) Para viagens de carnaval a centros urbanos, prefiro que o transporte seja rodoviário; (3) Para roteiros a centros urbanos, prefiro viajar nas férias do que no carnaval. Page 2

MOTIVAÇÃO Viagens ( Destino, Temporada, Roteiro, Transporte, Categoria ) Consultas: Quero os destinos que mais se adequam às minhas preferências, desde que não sejam viagens na temporada de Páscoa. Retorne as 4 viagens, dentre aquelas armazenados no BD, que mais se adequam às minhas preferências. Page 3

OUTLINE A Linguagem CPref-SQL Trabalhos Correlatos e Contribuições Avaliação de Consultas com Preferências (consultas-pc) Experimentos Aplicação: Consultas por Similaridade com Preferências Considerações Finais Page 4

A LINGUAGEM CPref-SQL Extensão do SQL capaz de expressar consultas com preferências condicionais Consultas incorporam restrições hard (WHERE) e também restrições soft (regras de preferências) Objetivos: Expressar preferências sobre uma base de dados Filtrar a resposta a consultas de acordo com as preferências do usuário Page 5

A LINGUAGEM CPref-SQL Expressar preferências num banco de dados da seguinte maneira: CREATE PREFERENCES MyPrefs FROM Viagens AS R= praia > R= urbano [D,Tr,C] AND IF T= carnaval and R= urbano THEN Tr= rod > Tr= aereo [D,C] AND IF R= urbano THEN T= ferias > T= carnaval [D] Page 6

A LINGUAGEM CPref-SQL Filtrar a resposta das consultas de acordo com as preferências do usuário SELECT destino FROM viagens WHERE temporada <> pascoa ACCORDING TO PREFERENCES (4, MyPrefs) Page 7

OUTLINE A Linguagem CPref-SQL Trabalhos Correlatos e Contribuições Avaliação de Consultas com Preferências (consultas-pc) Experimentos Aplicação: Consultas por Similaridade com Preferências Considerações Finais Page 8

TRABALHOS CORRELATOS E CONTRIBUIÇÕES TEMA Modelagem e Raciocínio com Preferências Extensões do SQL Operadores Algoritmos para avalição de consultas com preferências Consultas top-k Implementação ESTADO DA ARTE CP-Net TCP-Net Fórmulas de Preferência Condicional Preference SQL CPref-SQL Skyline Winnow SelectBest BNL consultas skyline SFS BNL+, BNL++ BNL*, Top N, Top K ranking Top K dominantes On-top, Centrist, Built-in Page 9

TRABALHOS CORRELATOS E CONTRIBUIÇÕES TEMA Modelagem e Raciocínio com Preferências Extensões do SQL Operadores Algoritmos para avalição de consultas com preferências Consultas top-k Implementação ESTADO DA ARTE CP-Net TCP-Net Fórmulas de Preferência Condicional Preference SQL CPref-SQL Skyline Winnow SelectBest BNL consultas skyline SFS BNL+, BNL++ BNL*, Top N, Top K ranking Top K dominantes On-top, Centrist, Built-in PROPOSTA Fórmulas de Preferência Condicional CPref-SQL SelectK-Best BNL** e R-BNL** Top-K cp-queries Built-in Page 10

OUTLINE A Linguagem CPref-SQL Trabalhos Correlatos e Contribuições Avaliação de Consultas com Preferências (consultas-pc) Experimentos Aplicação: Consultas por Similaridade com Preferências Considerações Finais Page 11

OPERADORES DA ÁLGEBRA CPref-SQL R Select-Best Tuplas que não têm nenhuma outra tupla acima delas na hieraquia de preferência t1 t2 t4 t5 t3 Page 12

OPERADORES DA ÁLGEBRA CPref-SQL K R SelectK-Best K tuplas que têm o menor nº tuplas acima delas na hieraquia de preferência t1 0 0 t5 1 t2 0 t4 t3 2 Page 13

OPERADORES DA ÁLGEBRA CPref-SQL π SELECT < attribute-list > FROM < tables > WHERE < where-conditions (hard conditions) > ACCORDING TO PREFERENCES < preference (soft conditions) > SelectBest / SelectK-Best σ X R 1... R n Page 14

ALGORITMOS BNL** E R-BNL** SelectBest SelectK-Best BNL** R-BNL** Seguem as linhas do algoritmo de laço aninhado - BNL (BORZSONYI et al. ICDE 2001) Utilizam a resolução SLD do Datalog para comparar tuplas Page 15

ALGORITMOS BNL** E R-BNL** Teste de Dominância Input: tuplas t1, t2 Output: t1 > t2 ou t2 > t1 ou t1 ~ t2 (incomparáveis) Método 1. Projeção 2. Método: CP-Teoria = Programa Datalog Testar t1 > t2 : datalog goal Page 16

ALGORITMOS BNL** E R-BNL** Teste de Dominância: t1 > t2? t2 > t1? t1 ~ t2? CP-Teoria 1. A = a1 -> C = c1 > C = c2 2. B = b1 -> C = c2 > C = c3 Programa Datalog 1. pref(x1, y1, z1, x2, y2, z2 ) <- x1 = a1, x2 = a1, y1 = y2, z1 = c1, z2 = c2 2. pref(x1, y1, z1, x2, y2, z2 ) <- x1 = x2, y1 = b1, y2, = b1, z1 = c2, z2 = c3 3. dom( x1, y1, z1, x2, y2, z2 ) <- pref( x1, y1, z1, x2, y2, z2 ) 4. dom( x1, y1, z1, x2, y2, z2 ) <- pref( x1, y1, z1, x3, y3, z3 ), dom( x3, y3, z3, x2, y2, z2 ) Page 17

ALGORITMOS BNL** E R-BNL** Teste de Dominância: t1 > t2? t2 > t1? t1 ~ t2? 2. CP-teoria = Programa Datalog Teste (a1, b1, c1) > (a1, b1, c2) Goal dom( a1, b1, c1, a1, b1, c2 ) Page 18

OUTLINE A Linguagem CPref-SQL Trabalhos Correlatos e Contribuições Avaliação de Consultas com Preferências (consultas-pc) Experimentos Aplicação: Consultas por Similaridade com Preferências Considerações Finais Page 19

EXPERIMENTOS Benchmark TPC-H (http://www.tpc.org/tpch/) Base de dados sintéticos Suite com 22 consultas SQL Adaptação nas consultas: inserção das cláusulas de preferência remoção das funções de agregação (group by, having, ) mudanças de termos das cláusulas WHERE Avaliação da performance e escalabilidade entre consultas CPref-SQL e as traduções em SQL Toda consulta CPref-SQL pode ser traduzida em SQL com Page 20 recursão.

EXPERIMENTOS: PERFORMANCE E ESCALABILIDADE Page 21

OUTLINE A Linguagem CPref-SQL Trabalhos Correlatos e Contribuições Avaliação de Consultas com Preferências (consultas-pc) Experimentos Aplicação: Consultas por Similaridade com Preferências Considerações Finais Page 22

CONSULTAS POR SIMILARIDADE E PREFERÊNCIAS Consulta Híbrida Imagem (dados complexos) + Preferências (dados texto) SIREN SImilarity Retrieval ENgine SGBDR Postgres com suporte a CPref-SQL Page 23 K imagens mais similares e preferidas

CONSULTAS POR SIMILARIDADE E PREFERÊNCIAS Dentre as 10 imagens mais similares a este raio-x de pulmão que contém a palavra Consolidação no laudo médico, o radiologista prefere as imagens tiradas durante as estações mais secas do ano. Page 24

OUTLINE A Linguagem CPref-SQL Trabalhos Correlatos e Contribuições Avaliação de Consultas com Preferências (consultas-pc) Consultas-pc top-k no SGBD Experimentos Aplicação: Consultas por Similaridade com Preferências Considerações Finais Page 25

CONSIDERAÇÕES FINAIS O que já foi feito: Proposta das consultas-pc top-k Implementação da linguagem CPref-SQL Experimentos Estudo de caso com operadores de similaridade do SIREN O que falta fazer: Integrar preferências ao módulo de mineração de dados do SIREN Escrita de artigos (periódicos e conferências) Finalização da redação da dissertação Previsão de Defesa: Fevereiro/2011 Page 26

Implementação de uma Linguagem de Consulta com Suporte a Preferências Condicionais Fabíola S. Fernandes, Sandra de Amo fabfernandes@comp.ufu.br, deamo@ufu.br!! FIM!! UNIVERSIDADE FEDERAL DE UBERLÂNDIA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

CONTRIBUIÇÕES Consultas-pc top-k Novo operador SelectK-Best Implementação da linguagem CPref-SQL Algoritmos BNL** e R-BNL** que implementam os operadores Select-Best e SelectK-Best Codificação no core do SGBD PostgreSQL Experimentos comparando a abordagem built-in com a tradução em SQL padrão Integração entre operadores de preferência e de similaridade Page 28

MODELO DE PREFERÊNCIA R1: (R = praia) > (R = urbano) [{D,Tr,C}], R2: (T = carnaval) ^ (R = urbano) (Tr = rod) > (Tr = aereo) [{D,C}], R3: (R = urbano) (T = ferias) > (T = carnaval) [{D}]. Destino Temporada Roteiro Transporte Categoria t1 João Pessoa ferias praia aereo nacional t2 Nova York ferias urbano aereo internacional t3 Buenos Aires carnaval urbano aereo internacional t4 Rio de Janeiro carnaval urbano rodoviario nacional t5 Parati natal histórico rodoviario nacional R1 t1 t2 R3 t4 t3 R2 t5 Page 29

ALGORITMOS BNL** E R-BNL** Teste de Dominância: t1 > t2? t2 > t1? t1 ~ t2? 1. Projeção R (A, B, C, D) dom(a) = {a1, a2, a3} dom(b) = {b1, b2} dom(c) = {c1, c2, c3} dom(d) = {d1, d2} CP-teoria 1. A = a1 -> C = c1 > C = c2 2. B = b1 -> C = c2 > C = c3 t1, t2 São comparáveis? (a1,b1,c1,d1) and (a1,b1,c1,d2) (a2,b1,c1,d1) and (a1,b1,c3,d1) (a2,b2,c2,d1) and (a2,b2,c3,d1) (a1,b1,c2,d1) and (a1,b1,c3,d1) No No Yes Yes Projeções (a2,b2,c2) and (a2,b2,c3) (a1,b1,c2) and (a1,b1,c3) Page 30

ALGORITMOS BNL** E R-BNL** Teste de Dominância: t1 > t2? t2 > t1? t1 ~ t2? 2. CP-teoria = Programa Datalog Converte as regras de preferência num programa Datalog P Cada teste de dominância de 2 tuplas comparáveis é um goal para P Encontra a solução (goal) utilizando o método da resolução SLD Page 31

EXPERIMENTOS Escalabilidade Page 32

OUTLINE A Linguagem CPref-SQL Trabalhos Correlatos e Contribuições Avaliação de Consultas com Preferências (consultas-pc) Consultas-pc top-k no SGBD Experimentos Aplicação: Consultas por Similaridade com Preferências Considerações Finais Page 33

TOP-K CP-QUERIES NO SGBD Extensão para o SGBD PostgreSQL 8.4 Sistema Operacional Linux Linguagem C Diretamente implementado no backend do PostgreSQL: abordagem built-in Page 34

TOP-K CP-QUERIES NO SGBD CREATE PREFERENCES Postgres back-end Page 35

TOP-K CP-QUERIES NO SGBD ACCORDING TO PREFERENCES Postgres back-end Page 36

Page 37

UNIVERSIDADE FEDERAL DE UBERLÂNDIA PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO!! FIM!! Implementação de uma Linguagem de Consulta com Suporte a Preferências Condicionais Fabíola S. Fernandes, Sandra de Amo