В настоящее время в современном мире электронных технологий практически невозможно представить компанию (фирму или организацию), в которой не требуется обработка некоторого объёма информации. Информацию необходимо где-то хранить. Она может динамически изменяться. Регулярно требуется выборка данных по определённым критериям из всего массива.
Базы данных создаются специально для хранения, обработки, проведения расчётов, сортировки, выборки и представления любых массивов данных по любым критериям.
На прошлом уроке мы с вами выяснили, что создание базы данных осуществляется средствами системы управления базами данных.
Создание происходит в два этапа:
· Построение структуры таблиц и установка связей.
· Ввод данных в таблицы.
Сегодня на уроке мы разберёмся со следующими вопросами:
· Что такое запрос.
· С помощью каких средств формируются запросы.
· Какова структура запроса на выборку.
Пусть некоторая строительная компания решила выяснить, сколько мостов в США. А также узнать длины пролётов этих мостов, года постройки и типы мостов.
В компании имеется база данных всех мостов. Для поиска нужной информации необходимо воспользоваться средствами, воплощёнными в базах данных.
Поиск информации в базах данных осуществляется через запросы.
Запросы являются одним из важнейших инструментов для извлечения информации из одной или нескольких таблиц базы данных. Запрос может служить источником данных для форм, отчётов и страниц доступа к данным. Его результатом является новая таблица, которая может быть просмотрена, проанализирована, а затем и сохранена или не сохранена.
Запрос (справка) – это таблица, которая содержит интересующие пользователя сведения, извлечённые из базы данных. Таблица включает записи и поля, которые содержатся в запросах на выборку данных, удовлетворяющих заданным условиям (условиям выбора).
Основные операции, которые пользователь может выполнять с использованием запросов это:
• создание новых таблиц на основе анализа данных в уже существующих таблицах базы данных;
• вычисление обобщённых данных (например, суммы, максимального или минимального значения и других) для заданных полей;
• нахождение значений новых свойств (то есть проведение вычислений), используя данные из разных таблиц или запросов;
• внесение изменений в уже существующие таблицы (например, обновление данных, вставка и удаление записей и других).
В зависимости от назначения запросов их разделяют на:
• запрос на выборку данных служит для создания подмножеств данных, которые можно использовать для получения ответов на определённые вопросы;
• перекрёстные запросы представляет собой специальный запрос итогового типа. Он отображает результаты итоговых статистических расчётов над значениями некоторого поля в виде перекрёстной таблицы. В ней значения одного или нескольких столбцов слева образуют заголовки строк, верхняя строка – заголовки столбцов из значений определённого поля, а на пересечении строк и столбцов – итоговые значения.
Существует общий язык, на котором создаются запросы во многих СУБД. Он называется SQL – структурированный язык запросов.
Мы с вами не будем обучаться составлению запросов на языке SQL, а воспользоваться более высокоуровневым вспомогательным средством.
В большинстве современных СУБД такие средства имеются. Например, в Майкрософт Acses – это конструктор запросов.
Мы с вами, в учебных целях, будем использовать строчное описание команд запросов на придуманном языке. Этот язык похож на SQL, но имеет не такой строгий синтаксис, а главное для нас, использует русские служебные слова.
Команда запроса на выборку данных из БД на придуманном языке запросов имеет следующий формат: точка выбрать далее записываем список выводимых полей где условие выбора; сортировать указываем ключ сортировки по порядок сортировки.
Не все части этой команды являются обязательными. Могут отсутствовать: условие выбора и порядок сортировки. Кроме того, ключей сортировки может быть несколько. Тогда они записываются в порядке приоритетов: первый, второй и т. д.
Вернёмся к нашему примеру.
Нам нужно построить и выполнить запрос к базе «Мосты». Попробуем для начала получить список всех мостов, находящихся в США. Список отсортировать в алфавитном порядке по названию мостов.
Создадим запрос. Для этого выбираем объект Запросы и далее команду Создать запрос в режиме дизайна.
Перед нами окно конструктора запросов.
В верхней части окна конструктора запросов находится Поле схемы запроса — это место, куда помещаются схемы таблиц, данные из которых используются в запросе.
Для выполнения нашего запроса достаточно одной таблицы «Названия мостов». Нам нужно в поле схемы запроса поместить таблицу «Название моста». Для этого в окне Добавление таблицы на вкладке Таблицы выбрать название таблицы «Название моста», нажать Добавить, затем — Закрыть.
В нижней части окна находится таблица. Она называется Бланк запроса. Столбцы относятся к полям, участвующим в формировании запроса. В первой строке указываются имена всех этих полей. Вторая строка — псевдоним, под которым будет выступать данное поле в запросе (его можно оставить пустым). Третья строка — имя таблицы, из которой извлекается соответствующее поле. Четвертая строка — признак сортировки. Используется лишь для ключей сортировки. Флажки в пятой строке отмечают признак вывода данного поля на экран при выполнении запроса. В следующих строках формируется условие отбора.
Команда на гипотетическом языке для такого запроса имеет вид: точка выбрать Название моста, Страна, Год постройки; сортировать Название моста по возрастанию.
Теперь необходимо заполнить бланк запроса. Для этого выбираем поля «Название моста», «Страна», «Год постройки», установить сортировку по полю «Название моста» (по возрастанию). В столбце Страна устанавливаем Критерий в одинарных кавычках США. И сохраняем запрос.
Для того чтобы посмотреть результаты, необходимо дважды щёлкнуть на названии запроса. Перед нами сформировалась таблица, в которой указаны названия мостов, построенных в США с годами их постройки. Также названия мостов сортированы в алфавитном порядке.
Теперь выполним запрос строительной компании. Итак, требуется получить список всех мостов, построенных в США с указанием года постройки и типа моста. Список отсортировать в алфавитном порядке по двум ключам: названию моста (первый ключ) и тип моста (второй ключ).
В этом запросе не будет использовано условие выбора, поскольку в итоговый список войдёт информация из всех записей таблиц: Название моста и Тип моста. В разделе сортировки должно быть указано два ключа по порядку.
Напомним, что в таком случае сортировка осуществляется по первому ключу, и в случае совпадения у нескольких записей его значения, они упорядочиваются по второму ключу.
Для выполнения этого запроса потребуются две таблицы — «Название моста» и «Тип моста». Теперь нам нужно связать эти две таблицы.
Связывать таблицы необходимо для описания структуры связей в многотабличной базе данных, а также для сохранения синхронизации.
Связать таблицы очень просто. Подведём курсор к названию поля «Название» в таблице «Название моста», нажимаем и удерживаем левую кнопку мыши и переносим её к полю «Название» в таблице «Тип моста» и отпускаем левую кнопку мыши. В результате связь отобразится в виде линии между полями.
Теперь необходимо заполнить бланк запроса.
Если в запросе используются поля из разных таблиц, то для их обозначения применяются составные имена, включающие разделённые точкой имя таблицы и имя поля в этой таблице.
Команда для данного запроса на гипотетическом языке будет следующей: точка выбор Название моста точка Название, Название моста точка Страна, Название моста точка Год постройки, Тип моста точка Тип, Тип моста точка Длина пролёта; сортировать Название моста точка Название по возрастанию, Тип моста точка Тип по возрастанию.
Здесь использованы составные имена полей, включающие разделённые точкой имя таблицы и имя поля в этой таблице.
Теперь необходимо заполнить бланк запроса. Для этого выбираем поля «Название моста», «Страна», «Год постройки», «Тип», «Длина пролёта» установить сортировку по полю «Название моста» - по возрастанию и «Тип» - по возрастанию.
В столбце Страна устанавливаем Критерий в одинарных кавычках США. И сохраняем запрос.
Посмотрим результаты запроса, дважды щёлкнем на названии запроса. Перед нами сформировалась таблица, в которой указаны названия мостов, построенных в США с годами их постройки, типом и длиной пролёта. Также названия мостов и типы мостов сортированы в алфавитном порядке.
Подведём итоги нашего сегодняшнего урока:
Запрос – это таблица, которая содержит интересующие пользователя сведения, извлечённые из базы данных. Таблица содержит записи и поля, которые содержатся в запросах на выборку данных, удовлетворяющих заданным условиям (условиям выбора).
Запросы формируются с помощью структурированного языка запросов SQL.
Структура запросов на выборку: сначала указываем список полей, затем Условие выбора записей, далее ключи и порядок сортировки.