Что такое данные

Документ pdf, qr-код, табло метрополитена, интернет-страница или сигнал светофора — мы сталкиваемся с ними ежедневно. Разберемся, что у них общего

Одно из ключевых понятий в IT — это информация. Философы веками спорят, что это вообще такое, и продолжают до сих пор. Понятие «информация» используется в теории вероятности, статистической физике, кибернетике, теории кодирования и теории информации. Без информации — никуда.

Единицей измерения информации считается бит. Однако на практике чаще используется более удобная единица — байт, состоящий из 8 битов.

Математик Клод Шенон предложил считать информацию в битах. А вот и онМатематик Клод Шенон предложил считать информацию в битах. А вот и он

Информация — это смысл, который извлекается из данных.

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

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

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

  1. Чат-программа вызвала программу-браузер, передав ему данные, адрес в сети интернет (ссылку коллеги).
  2. Браузер сформировал и отправил серверу в интернете запрос на данные по этому адресу в формате протокола HTTP (HyperText Transfer Protocol, стандартный протокол передачи данных в интернете).
  3. Сервер вернул ответ браузеру с данными в формате протокола HTTP.
  4. Браузер получил HTTP-ответ сервера с запрошенными данными, Пример заголовка HTTP-ответа:
    HTTP/1.1 200 OK
    Content-Type: text/html; charset=UTF-8
    Content-Length: 1234

    В этом примере заголовок Content-Type указывает, что данные — это HTML-документ в кодировке UTF-8.
  5. Браузер сопоставил тип данных из HTTP-ответа сервера с теми типами, которые он умеет отображать. Если этот формат поддерживается браузером (например, HTML, PDF, изображение), мы сразу получим документ на экране. Если формат не поддерживается, полученные данные будут сохранены в файл, а управление будет передано операционной системе.
  6. ОС, получив файл, проверит список зарегистрированных для его формата приложений и вызовет приложение, зарегистрированное приоритетным для этого формата файла, если такое есть. Если приоритетного приложения нет, операционная система предоставит выбор пользователю.
  7. Приложение читает файл, данные отображаются на экране.
  8. Готово, вы великолепны.

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

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

Предположим, что данные — это номер телефона Яндекс-Музея и рассмотрим несколько примеров размещения данных:

В файле на диске компьютера

Напишем простую программу на языке Python, создав в текстовом редакторе файл main.py:

file = open("museum_number.txt", "w")
file.write("+7 (499) 110-11-33")
file.close()

Эта программа из трёх строк создаст файл «museum_number.txt» и запишет в него номер телефона Яндекс-Музея. Чтобы выполнить данную программу у себя на компьютере, нужно установить в операционной системе пакет языка Python и выполнить команду:

python main.py

Теперь телефон Яндекс-Музея будет всегда под рукой, в файле «museum_number.txt» на диске компьютера.

На сайте в интернете

Если мы хотим сделать номер телефона доступным для всех пользователей интернета, можно поместить его на web-страницу. Для этого создадим простой HTML-документ:

<html>
  <head>
  </head>
  <body>
    <a href="tel: +74991101133"> +7 (499) 110-11-33</a>
  </body>
</html>

Сохраним его в файл «index.html» и разместим файл на сервере с доменным адресом «ymuseum.ru». Теперь при клике по ссылке https://ymuseum.ru/ у всех пользователей интернета будет открываться наша страница с номером телефона Яндекс-Музея. Ура!

В базе данных

Для хранения больших объёмов данных, их сохранности и быстрого к ним доступа используются специальные программы — базы данных.

Чтобы сохранить телефон Яндекс-Музея в базе данных, нужно создать таблицу. Это почти такая же таблица как в Excel. Только работать с ней нужно не мышкой и клавиатурой, а командами на языке запросов SQL (чаще всего). Создадим базу данных «ab», таблицу «phones», в в которой есть строковые поля «number» и «fio», и запишем в неё номер телефона:

CREATE DATABASE ab;
CREATE TABLE phones (
    fio varchar(255),
    number varchar(255)
);
INSERT INTO phones (fio, number)
VALUES ('Yandex Museum', '+74991101133');