Consulta por exemplo - Query by Example
Consulta por exemplo ( QBE ) é uma base de dados de linguagem de consulta para bases de dados relacionais . Foi idealizado por Moshé M. Zloof na IBM Research em meados dos anos 1970, em paralelo ao desenvolvimento do SQL . É a primeira linguagem de consulta gráfica, usando tabelas visuais onde o usuário insere comandos, exemplos de elementos e condições. Muitos front-ends gráficos para bancos de dados usam as idéias da QBE hoje. Originalmente limitado apenas para fins de recuperação de dados , o QBE foi posteriormente estendido para permitir outras operações, como inserções, exclusões e atualizações, bem como a criação de tabelas temporárias.
A motivação por trás do QBE é que um analisador pode converter as ações do usuário em instruções expressas em uma linguagem de manipulação de banco de dados, como SQL . Nos bastidores, é essa instrução que realmente é executada. Um front-end adequadamente abrangente pode minimizar a carga do usuário em lembrar os detalhes mais sutis de SQL, e é mais fácil e mais produtivo para os usuários finais (e até programadores) selecionar tabelas e colunas selecionando-as em vez de digitar seus nomes.
No contexto da recuperação de informações , QBE tem um significado um pouco diferente. O usuário pode enviar um documento ou vários documentos e solicitar que documentos "semelhantes" sejam recuperados de um banco de dados de documentos [ver pesquisa por exemplos múltiplos]. A pesquisa por similaridade é baseada na comparação de vetores de documentos (consulte Modelo de espaço vetorial ).
QBE é um trabalho seminal no desenvolvimento do usuário final , frequentemente citado em artigos de pesquisa como um dos primeiros exemplos deste tópico.
Atualmente, QBE é suportado em vários front ends de banco de dados relacionais, notadamente o Microsoft Access, que implementa "Visual Query by Example", bem como o Microsoft SQL Server Enterprise Manager. Ele também é implementado em vários bancos de dados orientados a objetos (por exemplo, em db4o ).
O QBE é baseado no formalismo lógico denominado consulta de tableau , embora o QBE acrescente algumas extensões a isso, da mesma forma que o SQL é baseado na álgebra relacional .
Exemplo
Um exemplo usando o banco de dados de fornecedores e peças é fornecido aqui para ilustrar como o QBE funciona.
S | S # | SNAME | PROPRIETÁRIO | SCITY |
---|---|---|---|---|
P. SX | J. DOE | ROMA |
Como técnica geral
O termo também se refere a uma técnica geral influenciada pelo trabalho de Zloof, em que apenas itens com valores de pesquisa são usados para "filtrar" os resultados. Ele fornece uma maneira para o usuário do software realizar consultas sem ter que conhecer uma linguagem de consulta (como SQL ). O software pode gerar automaticamente as consultas para o usuário (geralmente nos bastidores). aqui estão alguns exemplos:
Exemplo de formulário B :
.....Name: Bob ..Address: .....City: ....State: TX ..Zipcode:
SQL resultante :
SELECT * FROM Contacts WHERE Name='Bob' AND State='TX';
Observe como os itens em branco não geram termos SQL . Como o "Endereço" está em branco, nenhuma cláusula foi gerada para ele. Por exemplo, formulário C :
.....Name: ..Address: .....City: Sampleton ....State: ..Zipcode: 12345
SQL resultante :
SELECT * FROM Contacts WHERE City='Sampleton' AND Zipcode='12345';
Versões mais avançadas do QBE têm outras opções de operador de comparação, geralmente por meio de um menu suspenso, como "Contém", "Não contém", "Começa com", "Maior que" e assim por diante.
Outra abordagem para comparações de texto é permitir um ou mais caracteres curinga . Por exemplo, se um asterisco for designado como um caractere curinga em um sistema específico, a pesquisa de sobrenomes usando "Rob * " retornaria (corresponderia) a sobrenomes como "Rob", "Robert", "Robertson", " Roberto ", etc.
Veja também
- CRUD
- Microsoft Query por Exemplo
- GraphQL um QBE para front-ends JSON.
- QBIC
Referências
- ^ Zhu, Mingzhu; Wu, Yi-Fang Brook (24/02/2014). Pesquise por vários exemplos . ACM. pp. 667–672. doi : 10.1145 / 2556195.2556206 . ISBN 9781450323512.
- ^ "QBE", db4o , Developer works Java library, IBM, 27 de março de 2007
Fontes
- Zloof, Moshé M (maio de 1975), "Query by Example", NCC (procedimentos), 44 , Anaheim , Califórnia: AFIPS.
- Ramakrishnan, Raghu ; Gehrke, Johannes , "6. QBE" (PDF) , Database Management Systems (3ª ed.), Wisc.
- Date, Christopher 'Chris' J. (2004), "8. Relational Calculus", An Introduction to Database Systems , Addison-Wesley Pearson, pp. 242-7, ISBN 978-0-321-18956-1.
- Definições de Oracle , alvo técnico.
- Zaiane, "5" , notas do CC 354 , Canadá: SFI.
links externos
- Consulta por exemplo para PostgreSQL , fundição Pg.
- "Consulta por exemplo em Java usando Hibernate", Jboss.
- "Experiencing OptiqueVQS: a multiparadigma e sistema de consulta visual baseado em ontologia para usuários finais", Optique (PDF).