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

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

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

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

Кратко о теме

Конструктор запросов помогает выбрать нужные поля таблицы, задать условия отбора и получить результат в удобном виде. Критерии определяют, какие записи попадут в ответ, а логические связки И и ИЛИ позволяют составлять условия из нескольких частей. Сортировка упорядочивает найденные записи, но не исключает их. Чтобы запрос работал правильно, учитывай тип данных в поле и проверяй, как соединены условия.

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

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

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

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

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

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

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

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

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

Критерий нужно записывать с учётом типа поля, потому что программа по-разному понимает текст, числа и даты. Для числового поля можно указать точное значение или сравнение, например «не менее 50»; для текстового — название категории или города. Для поля с датой важно использовать формат, который распознаёт программа. Если перепутать типы или формат, условие может не сработать или дать не тот результат, который ожидался.

Логические связки позволяют превратить несколько проверок в одно правило отбора. При связке И запись остаётся в результате, только если она удовлетворяет обоим условиям; это сужает поиск. При связке ИЛИ запись подходит, если выполнено хотя бы одно условие, поэтому результат обычно охватывает больше вариантов. Выбор связки зависит от смысла задачи, а не от того, какое условие кажется важнее.

Условия можно задавать для одного поля или для разных полей. Например, для поиска товаров подойдут товары категории «Книги» или «Игры», а для отбора учеников — указанного класса и с нужным количеством баллов. В конструкторе важно расположить критерии так, чтобы программа соединила их именно в задуманные группы. Если рядом стоят альтернативы, а одно из условий должно выполняться обязательно, проверь, не получилось ли вместо этого несколько разных путей попадания в результат.

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

Приёмы настройки запроса и их результат

ПриёмКак задаётсяЧто происходит с результатом
Отбор по одному условиюКритерий указывают для одного поля.Остаются записи, подходящие под это условие.
Объединение условий логическим ИУсловия задают так, чтобы все они выполнялись одновременно.Остаются записи, удовлетворяющие каждому условию.
Объединение условий логическим ИЛИЗадают альтернативные условия, связанные как варианты.Остаются записи, подходящие хотя бы под одно условие.
Сортировка по возрастаниюДля выбранного поля указывают порядок от меньшего к большему.Записи располагаются по возрастанию значений поля.
Сортировка по убываниюДля выбранного поля указывают обратный порядок.Записи располагаются по убыванию значений поля.

Сначала определи, какие записи должны попасть в результат, и выбери для этого критерии и логические связки. Затем отдельно настрой порядок отображения, если он нужен. Таблица помогает не смешивать отбор, который меняет состав результата, и сортировку, которая меняет только порядок записей.

Разбор задач

Книги одного года издания

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

  1. В конструкторе выбери таблицу книг и добавь поле «Год издания». Это поле содержит значение, которое требуется проверить, поэтому критерий следует задавать именно для него. При необходимости добавь в результат название книги и другие поля, которые нужно увидеть.
  2. В строке критерия укажи 2020, учитывая, что поле хранит числовое значение года. Не добавляй условия для автора или названия: они не относятся к задаче. После запуска проверь, что в результат попали книги за 2020 год, а издания других лет отсутствуют.

Ответ. Запрос с одиночным критерием по полю «Год издания» покажет только книги 2020 года. Если нужно выбрать другой год, достаточно заменить значение критерия.

Учащиеся класса с нужным количеством баллов

Условие. Нужно вывести учащихся указанного класса, набравших не менее 60 баллов. Это две обязательные проверки: ученик должен быть в нужном классе и одновременно набрать требуемое количество баллов. Значит, условия следует связать логическим И.

  1. Добавь в запрос поля «Класс» и «Баллы», а также поля с именами учащихся, которые будут показаны. В критерии для класса укажи нужное значение, например 9 «А». Такое условие исключит учеников из других классов.
  2. Для поля «Баллы» задай условие «не менее 60», то есть значение должно быть не меньше указанного порога. Убедись, что критерии относятся к разным полям, но должны выполняться одновременно. Если оставить только одно из условий, в результат попадут лишние записи.
  3. Запусти запрос и проверь несколько строк: у каждого найденного ученика должны совпасть класс и результат по баллам. Ученик из другого класса с 80 баллами не подходит, как и ученик нужного класса с 55 баллами. Эта проверка помогает заметить ошибочно выбранную связку.

Ответ. В результате останутся только учащиеся указанного класса, набравшие не менее 60 баллов, поскольку обе проверки соединены И.

Товары разных категорий и сортировка по цене

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

  1. Добавь поля «Категория», «Цена» и те сведения о товаре, которые должны быть видны. В условии на категорию задай две нужные категории как альтернативы, а для цены — значение меньше 500. Так как достаточно одного из перечисленных оснований, условия связываются ИЛИ.
  2. Проверь расположение критериев в конструкторе: оно должно показывать, что товар проходит по одной из категорий либо по цене. Не размещай условия так, чтобы программа потребовала одновременно принадлежность к обеим категориям или, наоборот, превратила нужное обязательное условие в необязательное. Смысл каждой строки и группы критериев сверяй с формулировкой задачи.
  3. Настрой для поля «Цена» сортировку по возрастанию. Сначала запрос отберёт товары по составному критерию, а затем расположит найденные записи от более дешёвых к более дорогим. Проверь и состав результата, и порядок цен: это две разные настройки.

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

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

Ошибочно считать И и ИЛИ взаимозаменяемыми. Их часто путают, потому что обе связки объединяют условия, но И требует совпадения по каждому условию, а ИЛИ допускает любое из них. Проверь себя: если запись подходит только по одному критерию, должна ли она попасть в результат? Ответ поможет выбрать связку.

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

Критерий без учёта типа поля может не сработать: текст вводят как число или дату указывают в неподходящем формате. Обычно ошибка возникает из-за того, что значение кажется понятным человеку, но программа распознаёт его иначе. Сверь тип поля и формат значения, а после запуска проверь результат на записи с заведомо подходящими данными.

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

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

Для работы с запросами нужно понимать устройство таблицы базы данных: поле содержит один вид сведений, а запись описывает отдельный объект. Также пригодится умение выбирать поля в конструкторе, чтобы указать и условия поиска, и данные для вывода. Без этого легко задать критерий не тому столбцу.

Тема опирается на логические условия И и ИЛИ, которые изучают как правила объединения высказываний. В запросе они помогают точно описать, какие записи подходят задаче. Такие навыки полезны при поиске данных в любых базах, где нужно быстро отобрать нужные сведения.

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

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

  • Критерий отбора определяет, какие записи попадут в результат запроса.
  • Тип поля учитывают при задании условия.
  • И означает, что должны выполняться все объединённые условия.
  • ИЛИ означает, что достаточно выполнения хотя бы одного условия.
  • Составной критерий нужно проверять на соответствие поставленной задаче.
  • Сортировка меняет порядок записей, но не отбирает их.

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

Чем условие отбора отличается от сортировки?

Условие отбора решает, попадёт ли запись в результат: неподходящие записи исключаются. Сортировка не удаляет записи, а только меняет порядок их отображения.

Когда в запросе нужно использовать И, а когда ИЛИ?

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

Как задать критерии сразу для нескольких полей?

Добавь в конструктор нужные поля и укажи критерий для каждого из них. Если обе проверки обязательны, объедини условия логическим И.

Почему для текстового и числового поля критерии задаются по-разному?

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

Как проверить, что запрос отбирает именно нужные записи?

Сопоставь каждый критерий с условием задачи и проверь, где используются И и ИЛИ. Затем запусти запрос и проверь несколько записей: какие прошли отбор и почему.

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

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

Учебник

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