Что можно делать с данными: операции в информационном процессе

Что можно делать с данными: операции в информационном процессе Полезное

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

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

Данные, информация и информационный процесс

Три понятия, которые в школьных задачах часто путают:

  • Данные — зарегистрированные сигналы или сведения на носителе: числа в таблице, текст файла, пиксели фото. Сами по себе они ничего не сообщают.
  • Информация — то, что человек или программа извлекает из данных, применяя к ним метод интерпретации. Строка 4,8 — данные; «у Петровой лучший средний балл в классе» — информация.
  • Информационный процесс — последовательность действий с данными ради получения, сохранения или использования информации.

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

Какие операции могут быть совершены с данными: сводная таблица

Операция Что происходит с данными Пример из жизни Пример в компьютере
Сбор (получение) Данные поступают из источника Учитель собирает оценки Форма на сайте, датчик, выгрузка из БД
Формализация Приведение к одному виду «4,8» и «4.8» записывают одинаково Единый формат дат, чисел, регистра
Фильтрация Отсев лишнего и некорректного Убрать строки без оценок WHERE, фильтр в таблице
Сортировка Упорядочение по признаку Список по алфавиту ORDER BY, sort()
Группировка Объединение по общему признаку Ученики по классам GROUP BY, сводная таблица
Поиск Отбор записей по условию Найти ученика в журнале Поиск по ключу, индекс
Преобразование Перевод в другую форму или на другой носитель Бумажную книгу сканируют JSON -> байты, WAV -> MP3
Кодирование Представление знаками другого алфавита Азбука Морзе Текст -> байты UTF-8
Хранение и архивация Размещение на носителе, сжатие Архив школьных журналов Файл, БД, ZIP/gzip
Передача Перемещение от источника к приемнику Письмо, звонок Сеть, флешка, API
Защита Предотвращение утраты, искажения и чужого доступа Сейф, подпись Права доступа, шифрование, копии

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

Операции по группам

Сбор

Цель сбора — получить данные в полноте, достаточной для решения. Источники бывают первичными (измерение, опрос, датчик) и вторичными (готовая база, отчет, выгрузка). Уже на этом шаге важно фиксировать, откуда пришла каждая запись: без этого потом не понять, почему значения не сходятся.

Обработка

Обработка — общее название для операций, которые меняют вид, состав или порядок данных, но не их источник:

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

Преобразование и кодирование

Эти операции легко спутать, поэтому развести их стоит явно:

  • преобразование — любая смена формы или носителя: таблицу сохранили как JSON, бумажный документ отсканировали, звук оцифровали;
  • кодирование — частный случай преобразования, когда знаки одного алфавита заменяют знаками другого по правилу;
  • сжатие и шифрование — тоже кодирование, но с разной целью: сжатие уменьшает объем, шифрование скрывает смысл от посторонних.

Цепочка на одном символе: буква «Я» -> кодовая точка Unicode U+042F -> байты D0 AF в кодировке UTF-8. Набор символов (Unicode) задает номер буквы, а кодировка (UTF-8) — то, как этот номер записан байтами.

Хранение и архивация

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

Архив и резервная копия — разные вещи. Архив экономит место, копия защищает от утраты. Один архивный файл на том же диске, что и оригинал, от поломки диска не спасет.

Передача

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

Защита

Защита — комплекс мер против утраты, искажения и несанкционированного доступа. У нее три разные цели, которые решаются разными средствами:

Цель Что обеспечивает Типичное средство
Конфиденциальность Чужой не прочитает Шифрование, права доступа
Целостность Изменения будут замечены Контрольная сумма, электронная подпись
Доступность Данные не потеряются Резервные копии, дублирование

Антивирус защищает систему от одного класса угроз, но не заменяет ни одну из этих трех мер.

Все операции на одном примере: код на Python

Минимальный полный пример: берем оценки учеников из двух источников в разном виде и проводим их через цепочку операций. Проверено на Python 3.14.7, используется только стандартная библиотека.

import gzip, hashlib, json
from collections import defaultdict

# 1. Сбор: данные из двух "источников" в разном виде
school_a = ["Иванов;9А;4.5", "Петрова;9Б;4,8", "Сидоров;9А;"]
school_b = [{"name": "Орлова", "class": "9б", "avg": 3.9}]

# 2. Формализация: приводим все записи к одному виду
records = []
for line in school_a:
    name, cls, avg = line.split(";")
    records.append({"name": name, "class": cls.upper(),
                    "avg": float(avg.replace(",", ".")) if avg else None})
for r in school_b:
    records.append({"name": r["name"], "class": r["class"].upper(), "avg": r["avg"]})

# 3. Фильтрация: убираем записи без оценки
clean = [r for r in records if r["avg"] is not None]

# 4. Сортировка: по среднему баллу, от большего к меньшему
clean.sort(key=lambda r: r["avg"], reverse=True)

# 5. Группировка: ученики по классам
groups = defaultdict(list)
for r in clean:
    groups[r["class"]].append(r["name"])

# 6. Преобразование: структура -> текст JSON -> байты UTF-8
raw = json.dumps(clean, ensure_ascii=False).encode("utf-8")

# 7. Архивация: сжимаем для хранения
packed = gzip.compress(raw, mtime=0)  # mtime=0: одинаковый архив при каждом запуске

# 8. Защита целостности: контрольная сумма SHA-256
digest = hashlib.sha256(packed).hexdigest()

print("после формализации:", len(records), "записи")
print("после фильтрации:", [r["name"] for r in clean])
print("группы:", dict(groups))
print("байт до/после сжатия:", len(raw), len(packed))
print("SHA-256:", digest[:16], "...")

# 9. Передача и прием: получатель проверяет сумму и распаковывает
received = packed
assert hashlib.sha256(received).hexdigest() == digest
print("принято без искажений:", json.loads(gzip.decompress(received)) == clean)

damaged = bytes([received[0] ^ 1]) + received[1:]
print("поврежденный пакет прошел проверку:", hashlib.sha256(damaged).hexdigest() == digest)

Вывод прогона:

после формализации: 4 записи
после фильтрации: ['Петрова', 'Иванов', 'Орлова']
группы: {'9Б': ['Петрова', 'Орлова'], '9А': ['Иванов']}
байт до/после сжатия: 164 103
SHA-256: 8bcbade3209702ab ...
принято без искажений: True
поврежденный пакет прошел проверку: False

Что здесь видно по шагам:

  • формализация превратила «9б» в «9Б» и «4,8» в число 4.8 — без замены запятой float("4,8") упал бы с ValueError, без перевода в число сортировка сравнивала бы строки, а без upper() группировка разнесла бы один класс на два;
  • фильтрация убрала Сидорова без оценки: это решение, а не техническая мелочь, — в реальной задаче пропуск стоит сначала выяснить, а не выбрасывать молча;
  • сжатие уменьшило 164 байта до 103; точные размеры и значение суммы могут отличаться на другой версии библиотеки zlib;
  • изменение одного бита в пакете сразу видно по несовпадению суммы.

Граница примера: контрольная сумма ловит случайное повреждение, но не защищает от подмены. Если злоумышленник может заменить и пакет, и сумму, нужна электронная подпись или код аутентификации (HMAC) с секретным ключом. Конфиденциальности сумма тоже не дает — данные остаются читаемыми.

Добавление, изменение, удаление и просмотр

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

CREATE TABLE pupils (name TEXT PRIMARY KEY, class TEXT, avg REAL);
INSERT INTO pupils VALUES ('Иванов', '9А', 4.5), ('Петрова', '9Б', 4.8);  -- добавление
UPDATE pupils SET avg = 4.6 WHERE name = 'Иванов';                        -- изменение
DELETE FROM pupils WHERE name = 'Петрова';                                -- удаление
SELECT name, class, avg FROM pupils;                                      -- просмотр

Результат в консоли sqlite3:

Иванов|9А|4.6

Добавление увеличивает объем набора, удаление уменьшает, изменение затрагивает значения полей и объем обычно не меняет. UPDATE и DELETE без условия WHERE изменят или удалят все строки таблицы, поэтому на рабочих данных их выполняют после резервной копии и проверки условия через SELECT.

Как ответить на вопрос в школьной задаче

Если вопрос звучит как «какие операции могут быть совершены в ходе информационного процесса с данными», удобный порядок ответа такой:

  1. Назвать основные процессы: сбор, хранение, обработка, передача (часто добавляют защиту).
  2. Раскрыть обработку: формализация, фильтрация, сортировка, группировка, поиск, преобразование, кодирование.
  3. Привести по одному примеру на каждую операцию, как в таблице выше.

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

Выводы

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

Где применяется / связь с практикой

Освойте тему на практике

Цепочка «собрать — привести к виду — очистить — сгруппировать — посчитать» — повседневная работа аналитика данных: так готовят выгрузки из разных систем перед отчетом или дашбордом. Отработать ее на SQL, Python и реальных наборах можно на курсе «Аналитик данных», а познакомиться с темой бесплатно — на открытых уроках Otus.

FAQ

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

Является ли удаление данных операцией информационного процесса?
Да, удаление относится к обработке хранимого набора. Обычное удаление в файловой системе часто лишь помечает место свободным, поэтому для гарантированного уничтожения используют специальные средства.

Можно ли считать шифрование защитой от любой угрозы?
Нет. Шифрование обеспечивает конфиденциальность, но не спасает от потери данных: от нее нужны резервные копии. От случайного искажения помогает контрольная сумма, а от намеренной подмены — только код аутентификации (HMAC) или электронная подпись.

OTUS Журнал
Скидка 5% 14-20 сентября на курсы (popup)