Запросы к базе данных

Существуют различные виды запросов: выборки, сохранения результата запроса в новой таблице, обновления значений полей записей, добавления новых или удаления существующих записей, «перекрестный» и другие, в которых задаются условия отбора, сортировки или группировки записей, вычисляются статистические итоги, вычисляются новые поля и т. п. Запросы создаются с помощью графического реляционного языка QBE (Query By Example) и языка SQL. При этом запросы QBE имеют эквивалент на языке SQL.

» Чистые» запросы SQL, не имеющие эквивалентов на языке QBE:

    • объединение — объединяются данные во временном наборе записей, который не сохраняется после закрытия запроса;
    • к серверу — выполняются на удаленном сервере базы данных, а результат передается СУБД Access;
    • управляющие — создание, удаление или изменение различных объектов базы данных.

    Для запроса используются таблицы базы данных или другие ранее созданные запросы, т. е. запрос использует определенную подсхему данных.

    Рассмотрим наиболее типичные примеры.

    1. Запрос на выборку «Затраты ресурсов на продукцию» .

    Для подготовки этого запроса (рис. 10.40) следует действовать так:

      • Перейти в режим Создание , панель инструментов Другие, кнопка Конструктор запросов.
      • Для создания подсхемы данных выбрать таблицы: ПРОДУКЦИЯ, РЕСУРС, НОРМА (связи автоматически переносятся из схемы данных).

      • Разместить в выходной таблице поля таблицы ПРОДУКЦИЯ: Код продукции, Наименование продукции, Единица измерения.
      • Разместить в выходной таблице поле таблицы НОРМА: Код ресурса.
      • Разместить в выходной таблице поля таблицы РЕСУРС: Наименование ресурса, Вид ресурса.
      • Разместить в выходной таблице вычисляемое поле: Затраты, с помощью Построителя указать выражение:

      Затраты: [НОРМА]![Норма расхода]*.

      [РЕСУРС]![Цена ресурса]/[НОРМА]![Единица нормирования].

      Странице свойств запроса

      Запрос на языке SQL:

      19 стр., 9188 слов

      Проектирование баз данных

      ... Рассмотреть теоретические аспекты и организации БД и СУБД. 2. Изучить текстовые базы, сетевые и реляционные базы. Рассмотреть проектирование баз данных. Изучить анализ предметной области и запросов к БД. 5. ... средства описания данных БД. Тем самым облегчается процесс сопоставления БД и документов при организации интерфейса. Совместная реализация БД и интерфейса на единой концептуальной ...

      SELECT ПРОДУКЦИЯ. Код продукции],.

      ПРОДУКЦИЯ. Наименование продукции],.

      ПРОДУКЦИЯ. Единица измерения продукции],.

      НОРМА. Код ресурса], РЕСУРС. Вид ресурса],.

      РЕСУРС. Наименование ресурса],.

      [НОРМА]![Норма расхода]*[РЕСУРС]![Цена ресурса]/[НОРМА]![Единица нормирования] AS Затраты FROM РЕСУРС INNER JOIN (ПРОДУКЦИЯ INNER JOIN НОРМА ON ПРОДУКЦИЯ. Код продукции] = НОРМА. Код продукции]) ON РЕСУРС. Код ресурса] = НОРМА. Код ресурса];

      Выполнить

      2. Запрос выборки с группировкой строк «Нормативная себестоимость продукции» .

      Запрос на языке QBE создается следующим образом (рис. 10.41):

      Для подготовки данного запроса требуется выполнять указанные операции:

      • Перейти в режим Создание , панель инструментов Другие, кнопка Конструктор запросов.
      • Для создания подсхемы данных выбрать таблицы: ПРОДУКЦИЯ, РЕСУРС, НОРМА (связи автоматически переносятся из схемы данных).

      • Разместить в выходной таблице поля таблицы ПРОДУКЦИЯ: Код продукции, Наименование продукции, Единица измерения.
      • Включить в выходную таблицу вычисляемое поле: Себестоимость, с помощью Построителя ввести выражение:
      • Норм_Себестоимость:[РЕСУРС]![Цена ресурса]* [НОРМА]![Норма расхода]/[НОРМА]![Единица нормирования]
      • С помощью кнопки Итоги сформировать итог по ПОЛЮ Норм_Себестоимость с функцией Sum
      • В Странице свойств запроса указать: Вывод всех полей — Нет.

      Запрос на языке SQL:

      SELECT ПРОДУКЦИЯ. Код продукции],.

      ПРОДУКЦИЯ. Наименование продукции], ПРОДУКЦИЯ. Единица измерения продукции], Sum ([РЕСУРС]![Цена ресурса]*[НОРМА]![Норма расхода]/[НОРМА]![Единица нормирования]).

      AS Норм_Себестоимость FROM РЕСУРС INNER JOIN (ПРОДУКЦИЯ INNER JOIN НОРМА ON ПРОДУКЦИЯ. [Код продукции] =.

      НОРМА. [Код продукции]) ON РЕСУРС. [Код ресурса] =.

      НОРМА. Код ресурса]GROUP BY ПРОДУКЦИЯ. Код продукции],.

      ПРОДУКЦИЯ. Наименование продукции],.

      ПРОДУКЦИЯ. Единица измерения продукции];

      Выполнить

      3. Запрос на создание таблицы «Новая таблица» .

      Для подготовки данного запроса надо выполнить следующие шаги:

        • Перейти в режим Создание , панель инструментов Другие, кнопка Конструктор запросов.
        • Нажать кнопку Создание таблицы , ввести имя таблицы — СЕБЕСТОИМОСТЬ.

        Текст запроса на SQL:

        SELECT * INTO СЕБЕСТОИМОСТЬ FROM.

        [Нормативная себестоимость продукции];

        Выполнить

        4. Запрос на обновление таблицы «Новая себестоимость и прибыль продукции» .

        Для подготовки этого запроса требуется выполнить приведенные ниже действия:

        9 стр., 4251 слов

        Оценка качества продукции

        ... выявление нужд и запросов, для того чтобы выявить продукцию, которая наилучшим образом удовлетворяет ожиданиям потребителей. Вторая — обеспечение качества продукции на всех стадиях жизненного цикла. Организации стали ориентироваться на рынок, на потребителя. Чтобы ...

          • Перейти в режим Создание , панель инструментов Другие, кнопка Конструктор запросов.
          • Для создания подсхемы данных выбрать таблицы: ПРОДУКЦИЯ, СЕБЕСТОИМОСТЬ.
          • Нажать кнопку Обновление .
          • Указать для поля Себестоимость таблицы ПРОДУКЦИЯ:

          [СЕБЕСТОИМОСТЬ]![Норм_Себестоимость].

          • Указать для поля Прибыль на единицу продукции таблицы:
          • [ПРОДУКЦИЯ]![Цена];
          • IIf (IsNulK[ПРОДУКЦИЯ]![Себестоимость]);0;
          • [ПРОДУКЦИЯ]![Себестоимость]);
          • IIf (IsNull ([ПРОДУКЦИЯ]![Накладные расходы]);
          • 0;
          • [ПРОДУКЦИЯ]![Накладные расходы]).

          • Текст запроса на SQL:

          UPDATE ПРОДУКЦИЯ INNER JOIN СЕБЕСТОИМОСТЬ ON ПРОДУКЦИЯ. Код продукции] = СЕБЕСТОИМОСТЬ. [Код продукции].

          SET ПРОДУКЦИЯ. Себестоимость = [СЕБЕСТОИМОСТЬ] ! [Норм_Себестоимость] ,.

          ПРОДУКЦИЯ. Прибыль на единицу продукции] = [ПРОДУКЦИЯ]![Цена]-Ilf (IsNull ([ПРОДУКЦИЯ] ![Себестоимость]), О, [ПРОДУКЦИЯ]![Себестоимость ]) ;

          • Ilf (IsNull ([ПРОДУКЦИЯ]![Накладные расходы]), О,[ПРОДУКЦИЯ]![Накладные расходы]);

          Выполнить

          5. Запрос на удаление записей «Очистить СЕБЕСТОИМОСТЬ» .

          Для подготовки этого запроса необходимо выполнить указанные шаги:

            • Перейти в режим Создание , панель инструментов Другие, кнопка Конструктор запросов.
            • Для создания подсхемы данных выбрать таблицу СЕБЕСТОИМОСТЬ.
            • Нажать кнопку Удаление .
            • Текст запроса на SQL:

            DELETE * FROM СЕБЕСТОИМОСТЬ;

            • Для выполнения запроса нажать кнопку Выполнить.

            6. Запрос на удаление таблицы «Удалить СЕБЕСТОИМОСТЬ» .

            Для подготовки этого запроса требуется выполнить указанные операции:

              • Перейти в режим Создание , панель инструментов Другие, кнопка Конструктор запросов.
              • Перейти в режим SQL, ввести оператор:

              DROP TABLE СЕБЕСТОИМОСТЬ;

              • Для выполнения запроса нажать кнопку Выполнить.

              7. Перекрестный запрос «Структура затрат на продукцию» .

              Для подготовки этого запроса надо выполнить следующие действия:

                • Перейти в режим Создание , панель инструментов Другие, кнопка Мастер запросов, указать Перекрестный запрос.
                • Указать в качестве строк поля: Вид ресурса, Код ресурса.
                • Указать в качестве столбцов — Код продукции.
                • Итоговое поле — Затраты, функция итога — Sum.

                Текст запроса на SQL:

                43 стр., 21453 слов

                Процесс формирования производственных затрат на предприятиях полиграфии

                ... и упаковки. Из затрат на материальные ресурсы, включаемых в себестоимость продукции, исключается стоимость возвратных отходов. Под возвратными отходами производства понимаются остатки сырья, материалов, теплоносителей и других видов материальных ресурсов, образовавшихся в процессе производства продукции, ...

                TRANSFORM Sum ([Затраты ресурсов на продукцию] .Затраты).

                AS [Sum-Затраты].

                SELECT [Затраты ресурсов на продукцию]. [Вид ресурса],.

                [Затраты ресурсов на продукцию]. Код ресурса] ,.

                Sum ([Затраты ресурсов на продукцию]. Затраты).

                AS [Итоговое значение Затраты].

                FROM [Затраты ресурсов на продукцию].

                GROUP BY [Затраты ресурсов на продукцию]. [Вид ресурса], [Затраты ресурсов на продукцию]. [Код ресурса].

                PIVOT [Затраты ресурсов на продукцию].

                [Код продукции];

                • Для выполнения запроса нажать кнопку Выполнить.