“Consultas”(Queries) ou Interrogações • Principal finalidade das interrogações: Extracção, manipulação (inserção, alteração e remoção) e definição de dados. • As interrogações mais comuns destinam-se a pesquisar a base de dados de acordo com determinadas especificações (critérios de filtragem, ordenações de registos, agrupamento de valores etc.). • Um critério é uma expressão definida numa interrogação, que especifica as características dos registos que se pretende extrair ou manipular. Identifica e restringe os registos seleccionados, sendo estes denominados Recordset. • As interrogações podem usar as facilidades gráficas proporcionadas pelo Access ou instruções na linguagem SQL. Tipos de interrogações do MS Access • Interrogações de selecção; • Interrogações parametrizáveis; • Interrogações de referência cruzada (crosstab) • Interrogações de acção (make-table e inserção, alteração e remoção de dados); • Interrogações (adicionais) em SQL (união, pass-through, definição de dados e subinterrogação); A maior parte dos tipos de interrogações podem ser usadas como origem de dados de outros objectos (ex: formulários e relatórios) Q_1 Interrogações de selecção • As interrogações de selecção são as mais comuns; • Encontram dados de uma ou mais tabelas relacionadas, visualizando o resultado na folha de dados onde estes podem ser consultados e alterados (com algumas restrições). Selecção de tabelas e/ou queries que “contêm” os dados pretendidos Vista de desenho botão tipo query Lista de campos de tabelas ou queries Grelha de desenho Q_2 Interrogações simples Q1: Extrair os registos que verificam o seguinte critério: Fornecedor ABC ou BBB, prazo de entrega de 2 ou 3 dias, ingredientes com a letra a na sua designação e existências compreendidas no intervalo [1..10]. Vista de desenho Botão view Botão run Vista de folha de dados Obs: Como existe um relacionamento definido entre as tabelas e as suas propriedades são herdadas por defeito, só visualiza os registos relacionados (ingredientes que o fornecedor comercializa). Q_3 Valores calculados Q2: Determinar o custo da aquisição da quantidade de encomenda, para os produtos com existências <15 e recorrendo ao fornecedor ABC. Vista de desenho botão Build Facilidades proporcionadas na construção de expressões: • Construtor de expressões - útil na elaboração de expressões mais complexas (Botão Build) Q_4 • Janela Zoom - para expansão de campo (Shift F2) Vista de folha de dados Q_5 Interrogações de agregação As interrogações de selecção podem ser usadas para agrupar registos e calcular totais (mínimo, soma, contagem, etc.) recorrendo a funções de agregação (min, sum, count, etc.) Q3: Determinar o custo total da aquisição dos ingredientes ao fornecedor utilizado por defeito. Vista de desenho botão Totals Vista de folha de dados Q_6 Q4: Quantos fornecedores comercializam cada um dos ingredientes ? Q3: Qual o preço mínimo de cada ingrediente ? Q_7 Selecção de registos incluídos no agrupamento versos selecção de grupos Q5: Determinar o preço médio de cada produto Q6: Determinar o preço médio de cada produto excluindo preços <= a 200 Q7: Determinar o preço médio de cada produto excluindo preços médios <= a 200 Q_8 Vista de folha de dados Preços por fornecedor Q5: Preço médio de cada produto Q6: exclusão de registos incluídos Q7: exclusão de grupos incluídos Q_9 Interrogações parametrizáveis Interrogações baseadas em informação variável que é solicitada ao utilizador. => • Englobar o texto que será apresentado ao utilizador entre [ ] • Os valores dos parâmetros também podem ser visualizados introduzindo o seu nome numa coluna vazia, seguida de : e [texto] Q_10 Interrogação de referência cruzada (crosstab) • Agrupam os dados de um campo, nas orientações vertical e horizontal, em função de dois tipos de informação (categorias) e com base numa função de agregação. • Apresentam a mesma informação que uma interrogação de agregação, mas os valores são ilustrados num formato compacto semelhante a uma tabela com duas entradas (linhas e colunas). Interrogação de agregação das unidades vendidas por loja e produto Interrogação crosstab das unidades vendidas por loja e produto Q_11 Interrogações de acção Interrogações que alteram registos de uma ou mais tabelas: make-table e inserção, alteração e remoção de dados. Interrogações make-table • Criam uma tabela a partir de parte ou da totalidade dos dados de uma ou mais tabelas. • São úteis para múltiplos efeitos, entre os quais: exportação de dados, criação de cópias da totalidade ou de filtragens de dados, etc. As interrogações de inserção adicionam registos a uma tabela. As restantes interrogações alteram ou removem os registos que verificam os critérios especificados. Interrogações (adicionais) em SQL A linguagem SQL é mais poderosa do que as facilidades gráficas, permitindo criar interrogações não suportadas pelos tipos de queries anteriores (união, passthrough, definição de dados e subinterrogações). As interrogações criadas recorrendo às facilidades gráficas podem ser escritas e convertidas em comandos SQL. Contudo, as interrogações do tipo referência cruzada não são abrangidas pelos comandos SQL padrão. Q_12