Tarefa Orientada 7 Consultas de selecção Objectivos: Consultas de selecção O Sistema de Gestão de Bases de Dados MS Access Consultas As consultas (queries) permitem interrogar a base de dados, de acordo com os critérios de pesquisa indicados. As principais funcionalidades das consultas são: Seleccionar campos. Seleccionar registos que satisfaçam certas condições. Seleccionar determinados campos de registos que satisfaçam certas condições. Apresentar, de forma integrada, dados provenientes de várias tabelas. Ordenar os registos. Calcular valores usando expressões. Calcular estatísticas (total, média, desvio-padrão, etc.). Criar tabelas. Acrescentar registos a tabelas existentes. Eliminar registos. Consultas de acção Alterar valores de determinados campos. Existem vários tipos de consultas: Consulta de Selecção (Select Query): é a mais comum e permite, como o nome indica, seleccionar registos e campos das tabelas. Consulta de sumário (Summary Query): agregar informação das tabelas, isto é, calcular totais, médias, etc. Consulta de Acção (Action Query): alterar a informação nas tabelas.
1. Para criar uma consulta de selecção, em vista de estrutura, seleccione o tabulador Consultas. Clique duas vezes na opção Criar consulta na vista de estrutura. 2. Seleccione as tabelas necessárias para construir a consulta. Seleccione as tabelas Clientes, Códigos Postais e Países. Pressione o botão Adicionar. Pressione o botão Fechar.
Depois é apresentada uma janela de QBE (Query By Example) onde pode construir a consulta desejada. A janela da consulta está dividida em duas partes, as tabelas a consultar, em cima, e a estrutura da consulta, em baixo. 3. Defina a estrutura ilustrada na figura seguinte. As colunas em que está dividida a zona de estrutura servem para especificar os campos que serão visualizados e/ou que servirão para construir o critério para seleccionar os registos desejados. Para acrescentar um campo basta arrastar, fazer um duplo clique no campo da tabela (em cima). A linha Ordenação possibilita definir a ordem pela qual os registos são apresentados. Cada campo da consulta pode ser ordenado por ordem crescente, decrescente ou, simplesmente, não ser ordenado. Esta última opção faz com que os registos sejam apresentados pela mesma ordem em que aparecem na tabela. No caso de a ordenação envolver mais do que um campo, a sequência dos campos na grelha determina a ordem que será seguida na ordenação. A linha Mostrar permite seleccionar os campos que serão visualizados. Pode fazer sentido incluir na estrutura de consulta um campo que não se quer visualizar, por exemplo, no caso em que esse campo serve apenas como critério, isto é, serve para seleccionar registos. A linha Critério e as que lhe sucedem servem para definir para cada campo os critérios que servirão para seleccionar os registos a visualizar. Depois de definida, a consulta pode ser executada com o comando Executar do menu Consulta. A maior parte das consultas produz um conjunto de registos. Este conjunto pode ser visto como uma tabela e, na realidade, é visualizado como uma tabela. No entanto, quando se grava uma consulta, o que é guardado é a sua estrutura e não o conjunto de registos produzido pela sua execução. Por esse motivo a tabela resultante da execução de uma consulta é designada por tabela virtual. Esta semelhança é muito importante porque permite utilizar uma consulta onde for esperada uma tabela. Uma das consequências mais importantes desta funcionalidade é a possibilidade de usar consultas como fontes de registos de outras consultas.
4. Para executar a consulta, pressione o botão da barra de ferramentas. O resultado é apresentado na figura seguinte. Como pode observar facilmente, a consulta acima representada devolve o código, o nome, a localidade e o país de todos os clientes portugueses. 5. Pressione com o botão direito do rato sobre a barra (azul) de título da consulta e seleccione a opção Vista de SQL. Aparece a janela Vista SQL, onde pode visualizar o código SQL gerado automaticamente pelo MS Access. Como pode observar, uma consulta SQL é constituída basicamente por três cláusulas. A cláusula SELECT permite indicar quais os campos que desejamos visualizar. A cláusula FROM é utilizada para definir quais as tabelas que vão ser consultadas. A Cláusula WHERE permite definir as condições de filtragem. 6. Pressione com o botão direito do rato sobre a barra (azul) de título da consulta e seleccione a opção Estruturar consulta.
7. Para guardar uma consulta, pressione o botão da barra de ferramentas. Guarde a consulta com o nome Clientes de Portugal. Critérios mais complexos, isto é, critérios que envolvem múltiplas condições, podem ser elaborados da seguinte maneira. Condições definidas na mesma linha representam conjunções (E lógico). Condições definidas em linhas diferentes representam disjunções (OU lógico). Assim, serão seleccionados só aqueles registos que satisfazem todas as condições de pelo menos uma linha. 8. Abra a consulta, em vista de estrutura, Clientes de Portugal. Para tal, seleccione a consulta com o botão direito do rato e escolha a opção Vista de estrutura. 9. Acrescente, à estrutura da tabela, os campos Língua Oficial e Número Habitantes e os valores Lisboa e Viseu nas linhas Critério e OU do campo Localidade da tabela Códigos Postais. 10. Pressione o botão para executar a consulta. Como descreve o novo resultado obtido? 11. Volte a visualizar o código SQL e interprete as alterações geradas pelo MS Access. 12. Guarde novamente a consulta.
Além de poder construir conjunções e disjunções pela disposição das condições nas linhas e colunas, também é possível utilizar operadores de critérios. Com estes operadores podem-se construir conjunções e disjunções no mesmo campo de forma mais simples, além de ser possível efectuar outras operações. Operador Descrição Exemplo Não Negação. Não "Porto" Qualquer valor excepto Porto. Como Identidade com possibilidade de usar caracteres de substituição. Como "Paulo*" Qualquer valor que comece por Paulo. Entre E Intervalo. Entre #1-1-1978# E #1-7-1978# Datas entre 1/1/78 e 1/7/78. Em( ) Conjunto de valores. Em ("Porto"; "Moura") Apenas Porto ou Moura. E Conjunção. Não "Porto" E Não "Moura" Qualquer valor excepto Porto e Moura. Ou Disjunção. "Porto" OU "Moura" Apenas Porto ou Moura.
13. Crie uma nova consulta de selecção, em vista de estrutura. Seleccione o tabulador Consultas. Clique duas vezes na opção Criar consulta na vista de estrutura. 14. Seleccione as tabelas Clientes, Códigos Postais, Empregados, Encomendas e Métodos Envio. Pressione o botão Adicionar. Pressione o botão Fechar. 15. Defina a estrutura da consulta, de acordo com a figura seguinte. 16. Execute a consulta, pressionando o botão da barra de ferramentas. Como pode observar facilmente pela definição da estrutura da consulta, a consulta acima representada devolve as datas de encomenda e de envio das encomendas efectuadas, nos últimos seis meses, por clientes de Viseu à empregada Paula Santos (ID n.º 2) e cujo método de envio é Mão (ID n.º5). São ainda apresentados o nome e a localidade dos clientes e o nome da empregada. 17. Guarde a consulta com o nome EncomendasClientesViseuEmpPaulaMétEnvMão.