Справочник от Автор24
Найди эксперта для помощи в учебе
Найти эксперта
+2

Запросы к многотабличным базам данных

Понятие и характеристика запросов

Определение 1

Запросы представляют собой средство обработки данных, хранящихся в таблицах. Запросы осуществляют сбор запрашиваемых данных по указанным критериям из одной или нескольких таблиц, а также осуществляют поиск и структурирование данных. В сетевой технологии клиент-сервер основные базы данных хранятся на сервере баз данных, используя систему запросов можно уменьшить объем передаваемой по сети информации. Запрос является набором условий, в соответствии с которым осуществляется выборка информации из таблиц. Запуском запроса формируется новая таблица данных, обновляющаяся при повторных запусках запроса в соответствии с изменением информации в исходных таблицах.

Существуют различные типы запросов:

  • на выборку;
  • запросы с параметрами;
  • перекрестные;
  • запросы на изменение таблиц.

Запрос с параметром представляет собой отбор записей в базовой таблице по введенным параметрам.

Запрос на выборку позволяет получить результирующую таблицу, отображающую записи из базовых таблиц, которые удовлетворяют условиям запроса.

При построении выражений в запросах можно использовать:

  • знаки сравнения: не равно;
  • логические операции: And (И), Not (Нет), Or (Или);
  • операторы SQL: In (при определении содержания элемента данных в списке значений) и Between…And (при выборе значений из указанного интервала);
  • функции: Avg() (среднее арифметическое значение), Count() (количество записей), Sum() (сумма всех записей) и др.

К примеру:

  1. значения меньше 60, но больше 70 включительно, задаются в условии как =70;
  2. значения из отрезка [60;70] задаются в условии как > = 60 And
  3. все данные за 2015 год в условии задают как Between #01.01.2015#аnd#31.12.2015#;
  4. значения из списка перечисленных значений задают в условии как In(60; 65; 67; 70).
«Запросы к многотабличным базам данных» 👇
Помощь эксперта по теме работы
Найти эксперта
Решение задач от ИИ за 2 минуты
Решить задачу
Найди решение своей задачи среди 1 000 000 ответов
Найти

Формирование простых запросов

Замечание 1

Как было отмечено выше, чтобы получить определенные данные из БД пользователь использует запросы. В результате выполнения запросов образуются таблицы с временными наборами данных, записи которых включают поля из одной или нескольких таблиц. Запросы используют подобно таблицам. Соответствующие временные наборы просматриваются в табличном представлении. На основе запросов строятся отчеты или формы. Обновленные данные во временном наборе включаются в таблицы. С помощью запросов можно по-разному выполнить доступ к одной и той же информации

Приложением MS Access обеспечивается корректная связь между таблицами БД за счет соответствующих друг другу значений эквивалентных полей данных таблиц. При включении в запросы связанных таблиц БД в окне Запрос-выборка между ними автоматически появляется соединительная линия. В случае отсутствия связи между таблицами запроса (не возникает автоматически) их можно соединить в окне Запрос-выборка. Для чего обязательно требуется наличие в них полей с совпадающими данными. Отметим, что подобное соединение действует только для данного запроса, при использовании этих же таблиц в других запросах их потребуется соединить заново.

Помимо запросов-выборок существуют:

  • запросы на создание таблиц, которые создают для хранения информации новую таблицу и оказываются особенно полезными при создании резервных копий;
  • запросы на добавление, с помощью которых присоединяются записи к имеющейся таблице;
  • запросы на обновление, позволяющие изменить значение любого поля БД для записей, которые удовлетворяют указанным критериям;
  • запросы на удаление, с помощью которых уничтожаются в таблице все записи согласно поставленным критериям;
  • перекрёстные запросы, упорядочивающие информацию в БД по двум и более значениям группировки и на основании общих подмножеств соответствующих групп позволяющие сделать определенные выводы.

В запросах можно осуществлять вычисления следующих типов:

  • встроенные (итоговые), используемые при расчете следующих значений по группам записей или по всем записям, отобранным в результате запроса: суммы, среднего значения, числа значений, минимального или максимального значения, стандартного отклонения или дисперсии;
  • пользовательские вычисления, используемые при расчетах с числовыми и строковыми значениями либо значениями дат для каждой записи с данными из одного или нескольких полей.
Замечание 2

Результаты вычислений, выводимые в поле, не сохраняются в базовой таблице. Вычисления выполняются каждый раз при выполнении запроса, поэтому результатами, как правило, представлено текущее содержимое БД.

Обновление вычисленных результатов вручную невозможно.

Вычисление итоговых значений с использованием перекрестных запросов

Перекрестные запросы применяют при расчетах и представлении данных в структуре, которая облегчает их анализ. С помощью перекрестных запросов можно подсчитать сумму, среднее, число значений или выполнить другие статистические расчеты, в итоге результаты сгруппируются в виде таблиц по 2 наборам данных: 1 - определяет заголовки столбцов, а 2 - заголовки строк. Функции, которые определяют тип статистической обработки, можно выбрать в строке Групповая операция на панели запроса.

Перекрестные запросы легко создаются в режиме Конструктора:

  • создадим перекрестный запрос, используя режим Конструктора, и добавим таблицы, записи из которых необходимы для вычислений;
  • добавим поля, по которым выполняются вычисления, и зададим условия отбора;
  • нажмем кнопку Групповые операции на панели инструментов, в результате появится строка Групповая операция;
  • в ячейках этой строки для каждого поля запроса выберем одну из статистических функций: Sum, Avg, Min, Max, Count, StDev или Var, либо другие функции – First и Last.

Примеры создания запросов

Для начала предлагаем создать простой запрос на выборку, который, к примеру, осуществит отбор данных о скважинах с легкой плотностью нефти глубиной от 3200м до 3500 м и количеством работающих менее 60. Для чего используем поля Плотность нефти, Глубина скважины, Количество работающих. Создать запросы можно с помощью Мастера запросов или Режима конструктора. Рассмотрим оба варианта.

Выбираем во вкладке Создание раздел Другие кнопку Мастер запросов. Процесс аналогичен созданию форм.

Выберем таблицу Бригада для запроса и используя клавишу > перенесем поля Месторождение, Плотность нефти, Глубина скважины в окно запроса. Далее из таблицы Бригада добавим поле Количество работающих. Затем нажмем на кнопку Готово.

Следующим шагом зададим имя запроса (например, Запрос по плотности и глубине). Выберем Просмотр отчета. Нажмем Готово и посмотрим на результат отбора по указанным полям. При закрытии созданного запроса его имя появится в главном окне БД.

Откроем это окно еще раз и перейдем на структуру запроса (Вид на Панели инструментов). Рассмотрим структуру запроса. В строке Сортировка поля Плотность нефти выберем сортировку по возрастанию. Для просмотра результата запроса щелкнем на Панели инструментов значок запуска. Вернемся на структуру запроса и установим сортировку по убыванию. Просмотрим результат выполнения запроса. Изменим запрос, добавляя в строку Условие отбора поля Забой скважины условие Between 3200 and 3500. Запустим запрос с изменениями на выполнение. Вернемся на структуру запроса и добавим условие

Теперь создадим подобный запрос с помощью Конструктора. Для этого выберем вкладку Создание раздел Другие, щелкнем на кнопке Новый запрос - создание в режиме конструктора. Из окна Все таблицы перетащим таблицы Бригады, а потом - Скважины.

При перетаскивании полей (№ скважины, плотность нефти, Забой скважины, Количество работающих) из таблиц Скважины и Бригады в бланк запроса определим поля таблиц для запроса и порядок их размещения. Включим отображение полей в строке Вывод на экран. Введем условие отбора (легкая) в строку Условие отбора в столбце Плотность нефти, условие отбора Between 3200 and 3500 введем в столбце Забой скважины, в столбце Количество работающих - условие

Перейдем в режим таблицы и просмотрим записи БД, которые были отобраны в соответствии с созданным запросом. Закроем окно запроса и сохраним макет запроса с именем Запрос Нефти легкой плотности.

Приступим к созданию нового запроса, запроса с параметром Поиск скважин по месторождению. Для этого создадим запрос на выборку и откроем его в режиме конструктора. Режим конструктора позволяет создавать новые объекты БД или изменять структуру существующих . Потом из окна Все таблицы перетащим таблицу Бригады, затем - Скважины. Перетаскивая поля из указанных таблиц в бланк запроса, определим поля таблиц для запроса и порядок их размещения. В строке Вывод на экран включим отображение полей. В строке Условие отбора в столбце поля Месторождения, используемое как параметр, введем в ячейку строки Условие отбора в квадратных скобках текст приглашения [Введите название месторождения], который затем отобразится в диалоговом окне. Сохраним запрос, назвав его Запрос по месторождению. Чтобы проверить действие запроса, откроем его и запустим (или выберем в меню Вид опцию Режим таблицы). В открывшемся окне Введите значение параметра вводим название месторождения, которое необходимо найти. Просмотрим результат выполнения запроса. При запуске запроса с параметрами текст отобразится в диалоговом окне без скобок. Закроем запрос и выполним поиск другого месторождения, задавая новый параметр.

Замечание 3

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

Воспользуйся нейросетью от Автор24
Не понимаешь, как писать работу?
Попробовать ИИ
Дата написания статьи: 01.06.2017
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot