"Информатика (в 2-х частях)", Горячев А.В., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Чернышёва Т.Л., Широков Д.В.
Запрос к базе данных помогает получить из таблицы только нужные сведения, например список учеников одного класса или товары дешевле заданной цены. В конструкторе запросов нужные таблицы, поля и условия задают с помощью элементов интерфейса, а не записывают команду вручную. Простой запрос отбирает подходящие записи и показывает выбранные поля, но не изменяет исходную таблицу. Чтобы результат получился верным, нужно выбрать правильный источник и указать условие именно для того поля, значение которого проверяется.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Запрос к базе данных — обращение к одной или нескольким таблицам, которое позволяет получить записи, соответствующие заданным условиям. Проще говоря, запрос помогает выбрать нужную часть данных, не просматривая таблицу целиком. Он полезен, когда в таблице много записей, а для задачи важны только некоторые из них.
Конструктор запросов — режим создания запроса, в котором таблицы, поля и условия отбора задают с помощью элементов интерфейса. Вместо того чтобы писать специальную команду, пользователь выбирает нужные пункты в бланке. Такой способ удобен для простых запросов и помогает видеть, из каких настроек складывается результат.
Поле запроса — столбец таблицы, который включают в результат или используют для отбора записей. Например, поле «Фамилия» нужно, чтобы вывести фамилии, а поле «Класс» — чтобы найти учеников определённого класса. Понимание назначения полей помогает решить, какие сведения показывать, а какие использовать только для поиска.
Условие отбора — выражение, по которому программа определяет, какие записи включить в результат запроса. Оно может проверять, равно ли значение числу или тексту, меньше ли оно заданной величины либо больше неё. Условие нужно, чтобы ограничить результат и не выводить записи, которые не относятся к задаче.
Запрос нужен, чтобы находить в таблице только нужные сведения, не изменяя исходные записи. Например, в таблице учеников можно отобрать только ребят одного класса, а в таблице товаров — позиции дешевле заданной суммы. Это удобнее, чем вручную просматривать каждую строку, особенно если таблица большая. При этом исходная таблица остаётся источником данных, а результат запроса представляет собой выборку для просмотра.
При создании простого запроса в конструкторе сначала выбирают таблицу-источник, затем добавляют в бланк нужные поля. Источник определяет, откуда программа будет брать записи и какие столбцы доступны для выбора. После этого решают, что именно должно попасть в результат: например, фамилия и класс или название книги и автор. Если начать с неподходящей таблицы, нужных данных может не оказаться, поэтому выбор источника проверяют первым.
Отметка показа определяет, какие поля будут видны в результате; поле без этой отметки всё ещё можно использовать для отбора записей. Такое разделение нужно, когда условие важно для поиска, но само значение не требуется показывать. Например, можно отобрать учеников по полю «Класс», а в результате оставить только фамилии. Чтобы это сработало, поле с условием всё равно должно быть добавлено в бланк запроса.
Условие отбора вводят в строку соответствующего поля: например, сравнивают значение с числом или текстом, чтобы ограничить результат. Строка указывает программе, какое именно значение проверять, поэтому критерий для цены вводят в поле «Цена», а не в поле «Название». Для отбора значений не выше 500 используют запись <= 500. Точное оформление текста и чисел может зависеть от программы, поэтому при вводе нужно ориентироваться на тип данных поля.
После запуска запроса программа проверяет записи таблицы по условиям и показывает подходящие строки с выбранными полями. Каждая запись проходит проверку: если она удовлетворяет критерию, то включается в результат, а если нет — не отображается. Затем стоит сравнить получившиеся столбцы и записи с задачей. Так можно заметить ошибку в выбранном поле или условии до того, как использовать результат дальше.
| Элемент | Назначение | Пример |
|---|---|---|
| Таблица-источник | Содержит исходные записи | «Ученики» |
| Поле | Задаёт данные для результата или отбора | «Класс» |
| Показ | Включает или исключает поле из отображаемого результата | Показать «Фамилия», не показывать «Год рождения» |
| Условие отбора | Ограничивает набор подходящих записей | Для поля «Класс»: 9 |
| Запуск запроса | Формирует результат по заданным настройкам | Список учеников 9-го класса |
Пользуйся таблицей как короткой проверкой настройки запроса: сначала убедись, что выбран источник, затем проверь нужные поля и отметки показа. Условие должно относиться к своему полю, а после запуска нужно посмотреть, соответствует ли результат задаче. Это помогает найти ошибку до того, как использовать полученные данные.
Задача 1. В таблице «Книги» вывести названия всех книг и их авторов. Нужно получить две характеристики каждой записи, но отбирать отдельные книги не требуется. Значит, запрос должен показать все строки и только два указанных столбца.
Ответ: запрос покажет названия всех книг и имена их авторов без ограничения по записям.
Задача 2. Из таблицы «Ученики» вывести фамилии учеников, обучающихся в 9-м классе. В результате нужны фамилии, но класс нужен для проверки соответствия условию. Поэтому поле «Класс» участвует в запросе, хотя его можно не показывать.
Ответ: результат содержит фамилии учеников 9-го класса; поле «Класс» можно не выводить.
Задача 3. Из таблицы «Товары» вывести название и цену товаров стоимостью не выше 500 рублей. Слова «не выше» означают, что цена может быть меньше 500 или равна 500. Следовательно, в критерии нужно учесть оба случая, а в результате показать название и цену.
Ответ: запрос выведет названия и цены товаров, стоимость которых меньше или равна 500 рублям.
Если выбрать не ту таблицу-источник, запрос будет искать данные не там или в списке полей не окажется нужных столбцов. Такую ошибку легко допустить, если названия таблиц похожи или в базе их много. Перед настройкой полей проверь, что выбран источник, в котором действительно находятся нужные записи. Если требуемого поля нет, вернись к выбору таблицы, а не подменяй его похожим столбцом.
Если забыть добавить поле в бланк запроса, нужный столбец не появится в результате, а условие по нему может оказаться невозможно настроить. Это происходит, когда внимание сосредоточено только на итоговом списке или критерии. Сверь поля в бланке с задачей: там должны быть и выводимые столбцы, и поле, по которому выполняется отбор. После запуска проверь, что ожидаемые данные действительно присутствуют.
Условие, введённое в строку другого поля, проверяет не то значение, которое требуется. Например, критерий 9 для класса, случайно помещённый в строку поля «Возраст», будет применён к возрасту. Ошибку допускают, когда не сверяют название столбца над строкой условия. Перед запуском проследи глазами от критерия вверх до заголовка поля и убедись, что они связаны верно.
Ожидать, что запрос изменит исходную таблицу, — значит путать отбор с редактированием данных. Простой запрос показывает подходящие записи, поэтому правки в его результате не следует считать изменением источника. Такое ожидание возникает, если результат воспринимают как отдельную таблицу с теми же возможностями. Проверь исходные данные после запуска: обычный запрос на отбор не должен менять значения в них.
Для работы с запросом нужно понимать устройство базы данных: она состоит из таблиц, а таблица — из записей и полей. Это знание помогает выбрать источник и распознать, где находятся нужные данные. Запрос также опирается на логические условия и операции сравнения, например равенство или проверку «меньше либо равно». Они задают правило, по которому программа решает, включать ли запись в результат.
Простые запросы служат основой для дальнейшей работы с реляционными базами данных. На их базе легче освоить сортировку, сочетание нескольких критериев и язык SQL — способ записывать команды для управления данными. Во всех этих случаях важно понимать, откуда берутся данные, какие поля выбираются и как условие влияет на результат. Поэтому навык проверки простого запроса пригодится и при изучении более сложных способов поиска.
Чем запрос отличается от таблицы?
Таблица хранит исходные данные: записи и поля. Запрос задаёт, какие записи отобрать и какие поля показать. Он формирует результат на основе таблицы, но не заменяет её.
Можно ли использовать поле в условии, но не показывать его в результате?
Да. Добавьте поле в бланк запроса, задайте для него условие, а затем отключите его показ. Поле продолжит участвовать в отборе, но не появится среди столбцов результата.
Что произойдёт, если условие отбора не задать?
Запрос не будет ограничивать набор записей по условию. В результате отобразятся все записи таблицы, но только те поля, для которых включён показ.
Почему запрос не показывает некоторые записи?
Возможно, значения в этих записях не удовлетворяют условию отбора или условие введено не в строку нужного поля. Проверьте таблицу-источник, поля и точность критерия.
Изменяет ли запуск запроса данные в исходной таблице?
Обычный запрос на отбор только читает данные и показывает подходящий результат. Исходные записи при его запуске остаются без изменений.
§ 9. Конструктор запросов: простые примеры