Запрос на выборку данных
Запро́с на вы́борку да́нных — объект баз данных, используемый для осуществления эффективного поиска и обработки данных, содержащихся в этой базе.
Краткое описание[править]
Вне зависимости от типа базы данных существует необходимость извлечения данных, их обработки, манипулирования данными между частями базы данных, и т. д.
Такие манипуляции осуществляются при помощи запросов — специальных обращений к базе данных или её частям. Запросы на выборку данных предназначены для извлечения из базы данных структурированных данных по содержащемуся в запросе признаку. Формирование запросов зависит от типа базы данных.
Например, в реляционной СУБД Access существует пять категорий запросов к базе данных, а именно:
- Запрос на выборку;
- Запрос с параметрами;
- Перекрёстный запрос;
- Запрос на изменение;
- Запрос SQL.
Запрос на выборку подразумевает извлечение данных из одной или нескольких таблиц базы данных Access и отображение результатов выборки в виде таблицы. Следует отметить, что извлечённая таблица не записывается в базу данных, а содержится в оперативной памяти компьютера, поэтому, если эта таблица нужна в дальнейшем, нужно предусмотреть способ её сохранения в постоянной памяти компьютера. Таблица, полученная в результате обработки запроса на выборку, является динамической.
Для работы с СУБД Access предусмотрен специальный, визуальный, дружелюбный к пользователю интерфейс, в котором запрос на выборку данных можно осуществить через Мастер запросов (интерфейс манипулирования запросами с базой данных Access). В нём можно выбрать Тип запроса, нужную таблицу и Доступные поля с целью сформировать Выбранные поля для получения в результате обработки запроса динамической таблицы, содержащей структурированные данные из Доступных полей. Осуществив запрос, пользователь получает нужную ему таблицу данных, извлечённых из общей базы данных. Более сложные запросы можно сформировать с помощью Конструктора запросов. Подробные инструкции по работе с этими инструментами содержатся в файлах помощи по СУБД Access. Формирование запроса из СУБД Access в Мастере запросов показано на рисунке. Манипуляции с данными делятся на поиск, сортировку и фильтрацию данных. СУБД Access позволяет работать и с многотабличными базами данных. Возможна организация использования стека для организации рекурсивных вызовов.
В языке SQL, используемом при работе с множеством СУБД, выделяют три группы операторов, называемых подъязыками SQL, для манипулирования данными из баз данных[1]:
- DDL (Data Definition Language) — язык определения данных;
- DCL (Data Control Language) — язык управления доступом к данным;
- DML (Data Manipulation Language) — язык манипулирования данными.
В данном случае, при рассмотрении запросов на выборку данных, интересен язык манипулирования данными DМL. Это язык декларативного типа, то есть текст запроса не содержит алгоритма или инструкции к способу извлечения данных из базы данных.
Например, SQL-запрос вида Select * From W Where W.z≤W.q требует произвести выборку из таблицы W только тех ее строк, в которых значение поля z меньше либо равно значения поля q, при этом алгоритм операции в запросе не описывается.
В языке DML содержится четыре составных оператора формирования запросов:
- SELECT — обеспечивает выборку множества строк таблиц, удовлетворяющих заданным условиям (иногда — их обработку;
- INSERT — обеспечивает вставку или добавление в таблицы новых строк с заданными значениями их атрибутов;
- UPDATE — обновляет значения атрибутов в строках таблиц, удовлетворяющих заданным ограничениям;
- DELETE — удаляет из таблиц строки, удовлетворяющие заданным ограничениям.
С помощью оператора SELECT производится выборка строк таблиц, DELETE — удаление строк таблиц, UPDATE — обновление строк таблиц перед вставкой с помощью оператора INSERT в динамическую таблицу. Оператор SELECT включает шесть разделов: SELECT, FROM, WHERE, ORDER BY, GROUP DY и HAVING (обязательными являются только SELECT и FROM). Описание структуры запросов содержится в документации к языку SQL.
Примеры запросов (одна строка — один запрос):
SELECT * FROM Список товаров; {выборка всех строк и всех столбцов таблицы Список товаров}
SELECT Наименования, Цена, Количество, Остаток FROM Список товаров; {выборка всех строк и четырех столбцов таблицы}
SELECT Список товаров, Цена*Количество AS ЦенаПартииТоваров FROM Список Товаров WHERE Количество> Остаток; {выборка товаров, количество которых превышает остаток}
SELECT Код_Заказа, ДатаРазмещения FROM Заказы WHERE Заказы. ДатаРазмещения>#01-01-2024#; {выборка заказов, размещенных позднее 1 января 2024 г.}
SELECT DISTINCT Клиент, Телефон FROM Клиенты WHERE Клиент Like «*RosManufacturer*»; {выборка имен и номеров телефонов клиентов, имена которых включают набор текстовых символов RosManufacturer}
Следует помнить:
Отметим, что в трехзначной логике таблица истинности имеет вид:
true OR unknown = true |
true AND unknown = unknown |
unknown OR unknown = unknown |
unknown AND unknown = unknown |
false OR unknown = unknown |
false AND unknown = false |
NOT unknown = unknown |
Знание таблицы истинности в трехзначной логике помогает при создании логических выражений в рамках SQL-модели.
Примечания[править]
- ↑ Волк В. К. Базы данных. Проектирование, программирование, управление и администрирование. — СПб.: Лань, 2020.
Литература[править]
- Голицына О. Л., Максимов Н. В., Попов И. И. Базы данных: учебное пособие. — М. : ФОРУМ : ИНФРА-М, 2008.
- Хомоненко А. Д., Цыганков В. М., Мальцев М. Г. Базы данных: учебное пособие. — М. : Бином-Пресс, 2007.
- Чигарина Е. И. Проектирование и реализация баз данных средствами СУБД ACCESS: методические указания. — Самара : Изд-во СГАУ, 2009.
Ссылки[править]
![]() | Одним из источников, использованных при создании данной статьи, является статья из википроекта «Рувики» («ruwiki.ru») под названием «Запрос на выборку данных», расположенная по адресу:
Материал указанной статьи полностью или частично использован в Циклопедии по лицензии CC-BY-SA 4.0 и более поздних версий. Всем участникам Рувики предлагается прочитать материал «Почему Циклопедия?». |
---|