Solicitações de atualização de dados. Compreender as consultas

Universidade Russa de Cooperação

Departamento de Tecnologia da Informação

Disciplina "Informática"

Preparado pelo Professor Associado Z.V. Gudzenchuk

Tema... Acesso ao DBMS - solicitações de atualização

Informação geral sobre pedidos

As consultas são usadas para visualizar. classificar, filtrar, modificar e analisar dados de várias maneiras. As consultas também podem ser usadas como fontes de registro para formulários, relatórios e páginas de acesso a dados

No Access, as consultas podem ser criadas de dois modos:

    QBE(Consulta por exemplo) - consultas por exemplo, cujos parâmetros são definidos na janela do designer de consulta - a forma da consulta;

    SQL(Structured Query Language) é uma linguagem de consulta estruturada que usa instruções e funções SQL.

O Access torna mais fácil tirar uma consulta do modo QBE no modo SQL- solicitar:

No modo mesa A consulta exibe o resultado da execução da consulta para visualização.

Tipos de pedidos

No modo Design, o tipo de solicitação é selecionado clicando em um dos botões do grupo Tipo de solicitação(Tabela 1).

tabela 1

Botão de solicitação

Tipo de solicitação

Objetivo do pedido

Crie uma consulta que selecione os registros do banco de dados e os exiba.

Criação de uma mesa

Crie uma consulta que selecione os registros do banco de dados e os salve como uma nova tabela

Adicionando

Crie uma consulta que adiciona dados a uma tabela existente

Atualizar

Crie uma consulta que modifique os dados em uma tabela existente

Cruzar

Crie uma consulta que acumule dados em dois conjuntos de valores, um exibido no lado esquerdo e outro na parte superior.

Excluindo

Crie uma consulta que remova os dados que correspondem às condições especificadas de uma tabela existente

União

Crie uma consulta que organize a recuperação e visualização de dados de várias tabelas relacionadas.

Pedido de servidor

Criação de uma consulta no modo SQL. Ao usar tabelas vinculadas de bancos de dados back-end, como SQL Server ou Oracle, pode ser necessário executar uma consulta no servidor que seja mais poderosa do que a linguagem "nativa" do Access SQL suportada pelo servidor.

Ao controle

Crie uma consulta de definição de dados (consultas de controle) no modo SQL. Você pode usar as instruções CREATE TABLE (criar uma tabela) e ALTER TABLE (alterar a estrutura de uma tabela) em uma consulta de controle de acesso.

Tipo de solicitação de mudança

Pedido de mudançaé uma consulta que permite fazer alterações em vários registros em uma única operação. Existem quatro tipos de solicitações de mudança:

    criação de mesa

    deletando registros

    adicionando registros

    atualização de registros.

Os tipos de solicitações de mudança listados permitem que você crie automaticamente novas tabelas ou altere as tabelas de base de acordo com os dados das tabelas resultantes.

As solicitações de atualização são usadas principalmente para atualizar um grande número de registros de uma vez com uma única solicitação. Um exemplo clássico de tal consulta é alterar o preço na tabela Produtos por algum coeficiente constante, por exemplo, você pode aumentar o preço de uma das categorias de produto em 20%. Para criar uma solicitação como esta:

  1. Expanda a lista de tabelas clicando no atalho Mesas(Tabelas) janelas de banco de dados.
  2. Selecione a tabela Produtos. Clique com o botão esquerdo na seta do botão Novo objeto(Novo objeto) na barra de ferramentas e selecione um valor da lista Investigação(Consulta). A janela Query Builder é exibida com a tabela Produtos na parte superior. Transfira os campos "Price" e "TypeCode" para o formulário de solicitação.
  3. Insira um critério para selecionar registros: por exemplo, na coluna "TypeID", insira o valor 1.
  4. Execute uma consulta para garantir que todos os registros contendo bebidas sejam selecionados.
  5. Agora vamos alterar a solicitação para ser uma solicitação de atualização. Para fazer isso, execute o comando de menu Solicitar, Atualizar(Consulta, atualização). O cabeçalho da solicitação muda e uma linha adicional aparece Atualizar(Atualizar para). Ao mesmo tempo, as linhas Ordenação(Classificar) e Saída em exibição(Mostrar) (fig. 8.8).
  6. Agora você precisa alinhar Atualizar(Atualizar para) insira uma expressão pela qual o novo preço será calculado: [Preço] * 0, 2. Em outros casos, você pode inserir uma constante, por exemplo, se precisar alterar a data em muitos registros para o atual 1.
  7. Agora você pode executar sua consulta. Para fazer isso, pressione o botão Lançar(Executar) na barra de ferramentas. Assim como ao adicionar registros a uma tabela, o Access exibe uma mensagem sobre o número de registros a serem atualizados e pede uma confirmação para atualizar. Você pode confirmar a atualização dos registros ou rejeitá-la.

Arroz. 8,8.

Antes de executar uma solicitação de atualização, clique com o botão esquerdo na seta do botão Visualizar(Ver) e selecione Modo de mesa(Visualização da folha de dados). Você verá todos os registros que serão atualizados, embora os dados nos campos atualizados ainda sejam antigos. E só depois de se certificar de que os registros necessários estão selecionados, você pode executar a consulta.

No exemplo acima, os valores foram alterados em um campo que não é a chave primária na tabela Produtos. Um caso especial ocorre quando você deseja atualizar o valor da chave primária em uma tabela. Se esta tabela tiver uma relação um-para-muitos com outras tabelas, a alteração da chave primária de um registro deve alterar simultaneamente os valores da chave estrangeira em todos os registros relacionados das tabelas subordinadas. O Access garante que essa alteração seja feita automaticamente porque oferece suporte à atualização em cascata de registros. Ao definir a relação entre as tabelas, você pode verificar o (Campos Relacionados à Atualização em Cascata) .

Se esta caixa de seleção estiver marcada, quando o valor da chave primária na tabela mestre for alterado, o Access executará automaticamente uma consulta especial que atualiza as chaves estrangeiras de todos os registros relacionados na tabela subordinada.

Você pode ver como essa consulta funciona observando as tabelas Funcionários e Pedidos. Para fazer isso, primeiro teremos que fazer cópias dessas tabelas e estabelecer uma relação entre elas:

  1. Expanda a lista de tabelas na janela do banco de dados e selecione a tabela "Funcionários".
  2. Copie a tabela para a área de transferência pressionando o atalho do teclado + .
  3. Cole a tabela da área de transferência pressionando o atalho do teclado + ... Uma caixa de diálogo aparecerá Insira uma mesa(Colar tabela como).
  4. Em campo Nome da tabela(Nome da tabela) insira a string: Funcionários (cópia). Deixe o botão de opção padrão no grupo Opções de colagem(Opções de colagem). Clique no botão OK ou chave ... A nova tabela aparece na lista.
  5. Siga as etapas 1 a 4 para a tabela Pedidos criando a tabela Pedidos (cópia).
  6. Para executar o exemplo, teremos que modificar ligeiramente a tabela Pedidos (cópia). O campo EmployeeID na tabela Pedidos é um campo de pesquisa, ou seja, embora este campo contenha códigos de funcionários, quando a tabela é exibida, este campo exibe o sobrenome e o nome do funcionário. Podemos remover temporariamente o campo de pesquisa para ver os resultados da atualização em cascata desse campo. Para fazer isso, basta abrir a tabela "Pedidos (copiar)" na visualização Design, selecionar a linha "ID do funcionário" e abri-la no painel Propriedades do campo(Propriedades do campo) guia Substituição(Lookup) e definir o valor da propriedade Tipo de fonte de string(Tipo de fonte de linha) igual Campo(Caixa de texto). Salve a mudança.
  7. Mais uma alteração precisará ser feita na tabela "Pessoas (cópia)". O campo "EmployeeID" nele tem o tipo Contador(AutoNumeração), então o Access não permitirá que você altere o valor neste campo. Abra esta tabela na visualização Design e altere o tipo de dados para o campo "EmployeeID" para Numérico(Número).
  8. Agora precisamos estabelecer links entre as novas tabelas. Clique no botão Esquema de dados(Relacionamentos) na barra de ferramentas da janela Esquema de dados(Relacionamentos).
  9. Clique no botão Layout claro(Limpar Layout) para limpar a janela de layout de dados. Confirme sua intenção na caixa de mensagem clicando no botão sim(Sim).
  10. Adicione as tabelas "Empregados (cópia)" e "Pedidos (cópia)" usando a caixa de diálogo Adicionando uma mesa(Mostrar Tabela). Para fazer isso, clique no botão correspondente na barra de ferramentas.
  11. Para estabelecer uma relação um-para-muitos entre tabelas, arraste o campo EmployeeID da tabela Funcionários (cópia) para o campo correspondente na tabela Pedidos (cópia). Uma caixa de diálogo aparecerá Mudando links(Editar relacionamento).
  12. Nesta janela, marque as caixas Garantindo a integridade dos dados(Aplicar integridade referencial) e atualização em cascata de campos relacionados(Campos relacionados à atualização em cascata) (Figura 8.9). Clique OK.
  13. Feche a janela Esquema de dados(Relacionamentos).

As solicitações de atualização são usadas principalmente para atualizar um grande número de registros de uma vez com uma única solicitação.

Exemplo

Como exemplo, considere uma consulta que altera o custo dos cursos de formação na tabela "Kursused" por algum fator constante, por exemplo, podemos aumentar o custo de todos os cursos em 20%.
Para criar uma solicitação como esta:

1. No modo Construtor, selecione os campos Kursuse_kood, Nimetus, Maksumus da tabela "Kursused" (Cursos) na consulta.

2. Execute uma consulta para garantir que todos os registros sejam selecionados.

3. Agora, vamos alterar a solicitação para ser uma solicitação de atualização. Para fazer isso, clique no botão Atualizar... O cabeçalho da solicitação muda e uma linha adicional aparece (Atualizar)... Ao mesmo tempo, as linhas Ordenar (Ordenação) e Mostrar (Saída no display).

4. Agora você precisa encadear Atualizar para insira uma expressão pela qual o novo custo será calculado: * 1, 2.

Em outros casos, você pode inserir uma constante, por exemplo, se precisar alterar a data em muitos registros para a atual.

5. Antes de executar uma solicitação de atualização, clique com o botão esquerdo na seta do botão. Visualizar e selecione

Para atualizar os dados nos campos da tabela, uma consulta de atualização pode ser usada. As alterações são feitas em um grupo de registros que são selecionados usando critérios de seleção especificados pelo usuário. Os valores para alterações de campo são definidos no formulário de solicitação no campo Atualizar.

Por exemplo, por engano, um cliente Sirius Media que na verdade é um cliente do InvestCapitalBank foi listado como um cliente VTB 24. Para atualizar os dados, selecione Criar> Construtor> Tabelas> Clientes (Fig. 37).

Figura 37 - Criação de uma solicitação de atualização no modo de design

Na barra de tarefas, selecione Solicitação> Tipo de solicitação> Solicitação de atualização. Temos uma nova linha Update (Fig. 38).

Figura 38 - Seleção do tipo de solicitação

Preencha a solicitação selecionando Campo - Nome, Nome da tabela - Cliente, Atualização - InvestCapitalBank, Condição de seleção - VTB 24 e especifique o cliente - Sirius Media. Salve as alterações e renomeie a Solicitação 1 para Solicitação de atualização (Fig. 39).


Figura 39 - Salvando e renomeando a solicitação de atualização


Figura 40 - Confirmação da solicitação de atualização

Até agora, você encontrou consultas que realizam a busca de dados e alguns cálculos. No entanto, as consultas também podem ser usadas para adicionar, excluir e atualizar um grupo de registros em uma tabela de banco de dados do Access. Essas consultas são uma ferramenta poderosa para transformar dados e são chamadas de consultas de ação. Suponha que por algum motivo você precise ajustar as datas de seus contatos substituindo o mês de novembro por dezembro em todos os registros da tabela Lista datados de 1999. Esta operação é difícil de ser feita manualmente se a tabela contiver vários milhares de registros. Uma solicitação de ação permite que você resolva o problema rapidamente.

1. Na janela Access database, clique no botão Mesas.

2. Selecione a tabela da lista cujos dados você deseja atualizar.

3. Nos botões da paleta Novo objeto Selecionar item Investigação... Uma caixa de diálogo será aberta Novo pedido mostrado na Fig. 17,8. Uma janela semelhante é aberta quando você clica no botão Crio janelas de banco de dados. Ele permite que você escolha a maneira mais conveniente de criar um objeto.

Arroz. 17,8. Crie um pedido

4. Clique duas vezes na linha Construtor... A tabela List que foi selecionada na janela do banco de dados na etapa 2 aparecerá automaticamente na janela do designer de consulta.

5. Arraste o campo para o formulário de solicitação encontro, cujo valor precisa ser atualizado.

Observação O nome do campo, entre colchetes, é uma referência ao valor do campo. Para se referir a um campo em outra tabela, você deve primeiro especificar o nome da tabela seguido pelo nome do campo (ambos os nomes entre colchetes) e separá-los com um ponto de exclamação. Por exemplo [Contatos]! [Sobrenome].

6. Nos botões da paleta Tipo de solicitação Selecionar item Atualizar... Uma descrição de todas as opções de consulta possíveis oferecidas pelo Access é fornecida na tabela. 17,2. A estrutura do formulário de solicitação é modificada de acordo com o tipo de solicitação. Um campo aparece na forma da opção de solicitação de atualização selecionada. Atualizar, no qual você precisa inserir o novo valor do campo. Para alterar o mês da data de novembro para dezembro, basta adicionar 30 dias à data.

7. Entre na célula Atualizar fórmula [Data] +30.

TABELA 17.2. Opções de consulta

Tipo de Descrição
AmostraBuscando dados na tabela de resultados da consulta com base nas condições de filtro especificadas
CruzarO resultado da consulta exibe valores estatísticos (soma, quantidade ou média) para um dos campos da tabela, dependendo de dois parâmetros dos outros campos da tabela que especificam os títulos de linha e coluna do resultado da consulta cruzada
Criação de uma mesaCriação de uma nova tabela no banco de dados atual ou em outro banco de dados com base nas informações das tabelas existentes
AtualizarAtualizando os dados da tabela
AdicionandoAdicionar um conjunto de registros a uma tabela
ExcluindoExcluindo registros da tabela de acordo com o critério especificado

8. Para atualizar apenas as datas referentes a novembro de 2000, insira a fórmula entre DateValue ("1.11.99") e DateValue ("11/30/99") na célula Criteria, que foi discutida em detalhes anteriormente (Fig. 17.12) .

9. Feche a solicitação salvando-a como Atualização.

10. Clique no botão Mesas janelas do banco de dados e clique duas vezes no ícone Lista abra esta mesa. Possui quatro entradas que datam de novembro de 2000.

Observação Os prompts de ação podem realizar alterações de dados em grande escala que não podem ser desfeitas. Tome cuidado. Antes de executar tais consultas, é útil fazer cópia de segurança bancos de dados para poder voltar ao estado original das tabelas. Os ícones de solicitação de ação têm um ponto de exclamação para alertar sobre sua função especial.

11. Na janela do banco de dados, clique no botão Inquéritos.

12. Clique duas vezes no ícone Atualizar.

Responder simà pergunta sobre a necessidade de iniciar uma solicitação de ação. O Access informa que encontrou quatro registros que correspondem aos critérios do filtro e pede que você confirme se deseja alterá-los.

13. Clique no botão sim e examine as alterações que ocorreram nos dados da tabela List.