Capítulo 5: Outras linguagens Query-by-Example (QBE) Datalog Database System Concepts 5.1.1 ©Silberschatz, Korth and Sudarshan (modificado) Query-by-Example (QBE) Estrutura básica Perguntas apenas numa relação Perguntas em várias relações A Condition Box Exemplo do Access Database System Concepts 5.1.2 ©Silberschatz, Korth and Sudarshan (modificado) QBE — Estrutura de base Linguagem gráfica de perguntas a bases de dados relacionais O sistema cria templates de relações solicitadas por utilizadores As perguntas são feitas com padrões, “por exemplo” Database System Concepts 5.1.3 ©Silberschatz, Korth and Sudarshan (modificado) Tabelas QBE para o exemplo do banco Database System Concepts 5.1.4 ©Silberschatz, Korth and Sudarshan (modificado) Tabelas QBE (Cont.) Database System Concepts 5.1.5 ©Silberschatz, Korth and Sudarshan (modificado) Perguntas numa só relação • • • • Encontrar todos os números de empréstimos da agência Perryridge _x é uma variável P. significa print (display) os tuplos duplicados são removidos por default Para reter os duplicados usar P.ALL Database System Concepts 5.1.6 ©Silberschatz, Korth and Sudarshan (modificado) Perguntas numa só relação (Cont.) Encontrar os números dos empréstimos de valor superior a 700 Nome de agências que não sejam em Brooklyn Database System Concepts 5.1.7 ©Silberschatz, Korth and Sudarshan (modificado) Perguntas numa só relação (Cont.) Números de empréstimos feitos conjuntamente pelo Smith e o Jones. Todos os clientes que vivem na mesma localidade que o Jones Database System Concepts 5.1.8 ©Silberschatz, Korth and Sudarshan (modificado) Perguntas em várias relações Nomes de todos os clientes com empréstimos na agência Perryridge Database System Concepts 5.1.9 ©Silberschatz, Korth and Sudarshan (modificado) Condition Box Permite impor condições extra sobre atributos. E.g. Números de empréstimos feitos pelo Smith, pelo Jones, ou por ambos Database System Concepts 5.1.10 ©Silberschatz, Korth and Sudarshan (modificado) Condition Box (Cont.) Números de contas com saldo entre $1,300 e $1,500 Agências com activos maiores que pelo menos os de uma agência em Brooklyn Database System Concepts 5.1.11 ©Silberschatz, Korth and Sudarshan (modificado) Outras features Com o QBE é ainda possível executar ordenação de tuplos, algumas formas de agregação, e modificação de bases de dados. Tudo o que é possível exprimir com o QBE, também o é com SQL ... mas não vice-versa!! Database System Concepts 5.1.12 ©Silberschatz, Korth and Sudarshan (modificado) Microsoft Access QBE O Microsoft Access suporta uma variante do QBE - Graphical Query By Example (GQBE) É diferente do QBE em: Em vez de usar variáveis para dizer que os valores de dois atributos têm que ser iguais, usa linhas a ligar os atributos. Por default, as linhas especificam inner joins. Mas é possível alterar para outer joins. As condições, valores a afixar, etc, são especificados na design grid Database System Concepts 5.1.13 ©Silberschatz, Korth and Sudarshan (modificado) Exemplo em Access QBE Encontrar os nomes de clientes, saldo e número de conta de todos as contas da agência de Perryridge Database System Concepts 5.1.14 ©Silberschatz, Korth and Sudarshan (modificado)