На Горох
Информатика, 9 класс

§ 9. Конструктор запросов: простые примеры

"Информатика (в 2-х частях)", Горячев А.В., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Чернышёва Т.Л., Широков Д.В.

Объяснение темы В оглавлении: § 9. Конструктор запросов: простые примеры

Кратко о теме

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

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

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

Конструктор запросов — режим создания запроса, в котором таблицы, поля и условия отбора задают с помощью элементов интерфейса. Вместо того чтобы писать специальную команду, пользователь выбирает нужные пункты в бланке. Такой способ удобен для простых запросов и помогает видеть, из каких настроек складывается результат.

Поле запроса — столбец таблицы, который включают в результат или используют для отбора записей. Например, поле «Фамилия» нужно, чтобы вывести фамилии, а поле «Класс» — чтобы найти учеников определённого класса. Понимание назначения полей помогает решить, какие сведения показывать, а какие использовать только для поиска.

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

Как это устроено

Запрос нужен, чтобы находить в таблице только нужные сведения, не изменяя исходные записи. Например, в таблице учеников можно отобрать только ребят одного класса, а в таблице товаров — позиции дешевле заданной суммы. Это удобнее, чем вручную просматривать каждую строку, особенно если таблица большая. При этом исходная таблица остаётся источником данных, а результат запроса представляет собой выборку для просмотра.

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

Отметка показа определяет, какие поля будут видны в результате; поле без этой отметки всё ещё можно использовать для отбора записей. Такое разделение нужно, когда условие важно для поиска, но само значение не требуется показывать. Например, можно отобрать учеников по полю «Класс», а в результате оставить только фамилии. Чтобы это сработало, поле с условием всё равно должно быть добавлено в бланк запроса.

Условие отбора вводят в строку соответствующего поля: например, сравнивают значение с числом или текстом, чтобы ограничить результат. Строка указывает программе, какое именно значение проверять, поэтому критерий для цены вводят в поле «Цена», а не в поле «Название». Для отбора значений не выше 500 используют запись <= 500. Точное оформление текста и чисел может зависеть от программы, поэтому при вводе нужно ориентироваться на тип данных поля.

После запуска запроса программа проверяет записи таблицы по условиям и показывает подходящие строки с выбранными полями. Каждая запись проходит проверку: если она удовлетворяет критерию, то включается в результат, а если нет — не отображается. Затем стоит сравнить получившиеся столбцы и записи с задачей. Так можно заметить ошибку в выбранном поле или условии до того, как использовать результат дальше.

Элементы простого запроса в конструкторе

ЭлементНазначениеПример
Таблица-источникСодержит исходные записи«Ученики»
ПолеЗадаёт данные для результата или отбора«Класс»
ПоказВключает или исключает поле из отображаемого результатаПоказать «Фамилия», не показывать «Год рождения»
Условие отбораОграничивает набор подходящих записейДля поля «Класс»: 9
Запуск запросаФормирует результат по заданным настройкамСписок учеников 9-го класса

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

Разбор задач

Задача 1. В таблице «Книги» вывести названия всех книг и их авторов. Нужно получить две характеристики каждой записи, но отбирать отдельные книги не требуется. Значит, запрос должен показать все строки и только два указанных столбца.

  1. В конструкторе выберем таблицу-источник «Книги», потому что именно в ней находятся нужные сведения.
  2. Добавим поля «Название» и «Автор», поскольку они должны быть видны читателю.
  3. Не задаём условия отбора: требуется список всех книг, а не только книг с каким-либо признаком.
  4. Запускаем запрос и проверяем, что в результате два столбца и представлены все записи таблицы.

Ответ: запрос покажет названия всех книг и имена их авторов без ограничения по записям.

Задача 2. Из таблицы «Ученики» вывести фамилии учеников, обучающихся в 9-м классе. В результате нужны фамилии, но класс нужен для проверки соответствия условию. Поэтому поле «Класс» участвует в запросе, хотя его можно не показывать.

  1. Выбираем источник «Ученики» и добавляем в бланк поля «Фамилия» и «Класс».
  2. В строке условия поля «Класс» задаём значение 9, потому что проверяем именно номер класса.
  3. Оставляем показ поля «Фамилия», а показ поля «Класс» при необходимости отключаем.
  4. Запускаем запрос и проверяем, что в списке только фамилии учеников, у которых в таблице указан 9-й класс.

Ответ: результат содержит фамилии учеников 9-го класса; поле «Класс» можно не выводить.

Задача 3. Из таблицы «Товары» вывести название и цену товаров стоимостью не выше 500 рублей. Слова «не выше» означают, что цена может быть меньше 500 или равна 500. Следовательно, в критерии нужно учесть оба случая, а в результате показать название и цену.

  1. Выбираем таблицу «Товары» и добавляем поля «Название» и «Цена».
  2. В строке условия поля «Цена» вводим <= 500: знак ≤ означает «меньше или равно».
  3. Запускаем запрос, чтобы программа проверила цены всех записей и отобрала подходящие товары.
  4. Проверяем результат: цены должны быть не больше 500, а товар с ценой ровно 500 также должен попасть в список.

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

Типичные ошибки

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

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

Условие, введённое в строку другого поля, проверяет не то значение, которое требуется. Например, критерий 9 для класса, случайно помещённый в строку поля «Возраст», будет применён к возрасту. Ошибку допускают, когда не сверяют название столбца над строкой условия. Перед запуском проследи глазами от критерия вверх до заголовка поля и убедись, что они связаны верно.

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

Связь с другими темами

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

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

Что запомнить

  • Запрос отбирает данные из источника, не меняя исходную таблицу.
  • Сначала выбирают таблицу-источник, затем поля.
  • В результат попадают записи, удовлетворяющие условию отбора.
  • Поле можно использовать для отбора, даже если его не показывают в результате.
  • Условие нужно размещать в строке того поля, значение которого проверяется.
  • Результат запроса проверяют после его запуска.

Частые вопросы по теме

Чем запрос отличается от таблицы?

Таблица хранит исходные данные: записи и поля. Запрос задаёт, какие записи отобрать и какие поля показать. Он формирует результат на основе таблицы, но не заменяет её.

Можно ли использовать поле в условии, но не показывать его в результате?

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

Что произойдёт, если условие отбора не задать?

Запрос не будет ограничивать набор записей по условию. В результате отобразятся все записи таблицы, но только те поля, для которых включён показ.

Почему запрос не показывает некоторые записи?

Возможно, значения в этих записях не удовлетворяют условию отбора или условие введено не в строку нужного поля. Проверьте таблицу-источник, поля и точность критерия.

Изменяет ли запуск запроса данные в исходной таблице?

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

Спросить по теме параграфа

§ 9. Конструктор запросов: простые примеры

Учебник

Оглавление →
Предмет
Информатика
Класс
9 класс
Учебник
"Информатика (в 2-х частях)", Горячев А.В., Островский С.Л., Паволоцкий А.В., Семёнов А.А., Чернышёва Т.Л., Широков Д.В.