"Информатика (базовый уровень)", Угринович Н.Д.
Сортировка записей помогает расположить строки таблицы базы данных в удобном порядке: например, по фамилии, цене или дате. Поле, значения которого задают порядок, называют ключом сортировки. Записи можно упорядочить по возрастанию или убыванию, а при совпадении значений основного ключа — применить следующий ключ. При этом перемещается вся запись целиком: данные в ней остаются связанными, а сами значения и состав таблицы не меняются.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Сортировка записей — упорядочивание записей таблицы по значениям одного или нескольких полей. Записью называют строку, содержащую сведения об одном объекте, а поле — столбец с определённым свойством объектов. Сортировка нужна, чтобы быстрее находить нужные сведения и видеть данные в понятной последовательности.
Ключ сортировки — поле, по значениям которого упорядочивают записи. Например, если нужно расположить сведения об учениках по фамилиям, ключом станет поле «Фамилия». Выбор ключа определяет, какой признак будет главным при сравнении записей.
Сортировка по возрастанию — расположение значений от меньшего к большему; для текста это обычно алфавитный порядок, для дат — последовательность от более ранних к поздним. Такой вариант выбирают, когда нужно начать с минимального значения или с первой буквы алфавита. Он удобен, например, для просмотра фамилий от А до Я.
Сортировка по убыванию — расположение значений от большего к меньшему; для текста это обратный алфавитный порядок, для дат — от более поздних к ранним. Она подходит, когда сначала нужно увидеть наибольшие числа или самые свежие даты. По направлению сортировки можно быстро понять, какие значения окажутся в начале списка.
Сначала выбирают поле, которое должно задавать порядок записей, и оно становится ключом сортировки. Выбор зависит от цели: для списка учеников важны фамилии, а для сравнения товаров — цены. Компьютер сравнивает значения именно этого поля и по ним выстраивает строки, поэтому неверно выбранный ключ даст порядок, не отвечающий задаче.
Перемещаются не отдельные ячейки, а записи целиком. Все поля строки относятся к одному объекту, поэтому фамилия, класс и другие сведения должны остаться рядом после упорядочивания. Если отсортировать только столбец фамилий, не перемещая остальные поля, фамилии могут оказаться напротив чужих адресов или оценок, и данные будут испорчены.
Для ключа задают направление — по возрастанию или по убыванию. При числовых значениях это определяет, что будет раньше: меньшее или большее число; у дат и текста порядок также разворачивается. Направление выбирают по вопросу задачи: для списка от дешёвых товаров к дорогим нужно возрастание, а для рейтинга самых дорогих — убывание.
Когда значения основного ключа совпадают, по ним нельзя определить, какая из таких записей должна идти первой. Тогда добавляют следующий ключ: сначала программа группирует записи по основному признаку, а внутри каждой группы сравнивает значения следующего поля. Ключи задают в порядке важности, иначе главным станет не тот признак, который требуется в задаче.
Сортировка меняет порядок, в котором пользователь видит записи, но не сами значения полей и не набор столбцов или строк. Это важно отличать от редактирования таблицы: цена не становится другой только потому, что товары выстроили от дорогих к дешёвым. Поэтому сортировка служит для удобного представления и анализа уже имеющихся данных.
| Тип данных ключа | По возрастанию | По убыванию |
|---|---|---|
| Числовые значения | От меньшего числа к большему | От большего числа к меньшему |
| Текстовые значения | В алфавитном порядке | В обратном алфавитном порядке |
| Даты и время | От более ранних к более поздним | От более поздних к более ранним |
| Одинаковые значения ключа | Для определения порядка нужен дополнительный ключ | Для определения порядка нужен дополнительный ключ |
Сначала определите тип данных выбранного поля, а затем выберите нужное направление в соответствующем столбце таблицы. Если значения ключа одинаковы, задайте дополнительное поле сортировки: направление основного ключа само по себе не упорядочит такие записи друг относительно друга.
В таблице хранятся записи об учениках, и требуется вывести фамилии в алфавитном порядке. Нужно определить, какое поле содержит фамилии, и выбрать направление, соответствующее словам «от А до Я». При этом сведения об ученике должны остаться в одной строке.
Ответ: записи учеников сортируют по возрастанию поля «Фамилия». Каждая запись перемещается целиком, поэтому остальные сведения остаются при соответствующем ученике. Если фамилии совпадают, для точного порядка можно добавить, например, ключ «Имя».
В таблице товаров требуется начать с самого дорогого товара и закончить самым дешёвым. Цена — числовое поле, а формулировка «от самой высокой к самой низкой» указывает на убывание. Важно проверить, что вместе с ценой перемещаются название и другие характеристики того же товара.
Ответ: сортировка выполняется по убыванию поля «Цена». В начале окажутся товары с наибольшими ценами, в конце — с наименьшими. Если переместить только столбец с ценами, связь цены с товаром нарушится, поэтому сортируют записи целиком.
Нужно получить группы сотрудников по отделам, а внутри каждой группы расположить фамилии по алфавиту. Здесь одной сортировки недостаточно: фамилия не должна стать главным признаком, иначе сотрудники разных отделов могут перемешаться. Порядок ключей задаёт приоритет признаков.
Ответ: сначала записи сортируют по полю «Отдел», а внутри одинаковых отделов — по полю «Фамилия» по возрастанию. Так сохраняется требуемая группировка и порядок фамилий в каждой группе. Если поменять ключи местами, главным признаком станут фамилии, а не отделы.
Ошибка — сортировать значения только выбранного столбца, оставляя остальные столбцы на месте. Так поступают, когда воспринимают сортировку как перестановку отдельных ячеек, а не целых записей; в итоге данные в одной строке могут относиться к разным объектам. Проверьте себя: после сортировки каждое значение должно оставаться рядом со сведениями того же объекта.
Иногда путают возрастание и убывание, особенно при работе с датами: убывание дат означает движение от поздних к ранним. Ошибка возникает, если ориентироваться только на слова «раньше» и «позже», не проверяя выбранное направление. Проверьте первые и последние значения в результате: для убывания первая дата должна быть наиболее поздней.
При нескольких ключах ошибкой бывает неверный порядок полей: дополнительный ключ ставят главным. Тогда записи группируются по неожиданному признаку, хотя оба поля выбраны правильно. Сверьте порядок ключей с условием задачи: первым должно идти поле, по которому требуется основная группировка.
Ещё одна ошибка — ожидать определённой очередности записей, у которых совпадают значения ключа. Если дополнительный ключ не задан, по основному полю невозможно установить, какая запись должна идти раньше, поэтому такой порядок не следует считать гарантированным. Чтобы проверить результат и получить нужную последовательность, добавьте поле, которое различает эти записи.
Для работы с сортировкой нужно знать устройство таблицы базы данных: запись хранит сведения об объекте, а поле — отдельное свойство. Кроме того, важно различать типы данных в полях, поскольку числа, текст и даты сравниваются по разным правилам. Эти знания помогают правильно выбирать ключ и направление.
Сортировка используется вместе с поиском и анализом данных: упорядоченный список легче просматривать и сравнивать. Она также помогает подготовить выборки и представить результаты запросов в нужной последовательности. Так таблица становится удобнее для чтения, хотя сами хранящиеся в ней сведения не меняются.
Что в базе данных называют сортировкой записей?
Это упорядочивание записей таблицы по значениям одного или нескольких полей. Поле, задающее порядок, называется ключом сортировки.
Чем сортировка по возрастанию отличается от сортировки по убыванию?
При сортировке по возрастанию значения располагаются от меньшего к большему, а текст — по алфавиту. При сортировке по убыванию порядок обратный: от большего к меньшему, для дат — от поздних к ранним.
Почему при сортировке нельзя перемещать только один столбец?
Строка таблицы — это единая запись с данными о конкретном объекте. Если переместить только один столбец, его значения перестанут соответствовать значениям в остальных полях.
Как упорядочить записи, если значения основного ключа совпадают?
Нужно задать дополнительный ключ сортировки. Сначала сравниваются значения основного ключа, а при их совпадении записи упорядочиваются по следующему полю.
Изменяет ли сортировка сами данные в таблице?
Нет, сортировка меняет только порядок отображения записей. Значения полей и состав таблицы остаются прежними.
3.2.4. Сортировка записей в табличной базе данных