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