Открыть сервисСервис

Структурированные данные и структура в информатике

Structured (от англ. structure — «структура», «строение») — в информатике и обработке данных обобщающее понятие, обозначающее организацию информации по заранее определённым правилам, схемам или типам, при которой элементы данных связаны между собой устойчивыми отношениями. Термин противопоставляется понятию unstructured (неструктурированный) и применяется к данным, языкам программирования, документам, запросам и форматам хранения. В русскоязычной литературе чаще используются эквиваленты «структурированные данные», «структурированная информация», «структурный тип».

Общее определение

Под структурированными понимают данные, которые:

  • имеют заранее заданную схему (модель, тип, формат);
  • разбиты на поля, элементы или узлы с определёнными именами;
  • допускают машинную обработку без предварительного анализа смысла;
  • подчиняются правилам, позволяющим однозначно интерпретировать значения.

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

История и происхождение понятия

Понятие структуры данных возникло в 1950–1960-е годы вместе с развитием программирования. В 1968 году нидерландский учёный Эдсгер Дейкстра и его коллеги сформулировали принципы структурного программирования, а в 1970-е годы работы Никлауса Вирта и Дональда Кнута закрепили разделение «алгоритмы + структуры данных». В 1970 году Эдгар Кодд предложил реляционную модель данных, где информация организуется в таблицы-отношения. С этого момента структурированность стала основой промышленных систем управления базами данных (СУБД).

В 1990–2000-е годы понятие расширилось: появились языки разметки (SGML, HTML, XML), язык запросов SQL, форматы обмена JSON и YAML, а также концепция «связанных данных» (Linked Data) и семантической паутины.

Классификация

По степени структурированности

ТипХарактеристикаПримеры
СтруктурированныеЖёсткая схема, поля с типамиТаблицы SQL, CSV, JSON со схемой
ПолуструктурированныеГибкая схема, теги или ключиXML, JSON, HTML, электронная почта
НеструктурированныеСхема отсутствуетТекст, изображения, аудио, видео

По форме организации

Структуры данных в программировании

В программировании термин structured тесно связан с понятием структуры данных — способа хранения и организации информации в памяти. Базовые структуры:

Выбор структуры определяет эффективность алгоритма: сложность операций вставки, поиска и удаления измеряется в нотации O(n).

Структурированные данные в вебе

В контексте интернета под structured data понимают разметку, помогающую поисковым системам понимать содержимое страницы. Наиболее распространённые форматы:

  • Schema.org — словарь типов и свойств, созданный в 2011 году компаниями Google, Microsoft, Yahoo и Яндекс.
  • JSON-LD — формат встраивания разметки в виде JSON.
  • Microdata и RDFa — атрибуты HTML для описания сущностей.

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

Язык запросов SQL

SQL (Structured Query Language) — декларативный язык, созданный для работы с реляционными базами данных. Название прямо указывает на работу со структурированной информацией. Операторы SELECT, INSERT, UPDATE, DELETE позволяют извлекать и изменять данные, а конструкция JOIN связывает таблицы по ключам. Стандарт SQL был впервые принят ANSI в 1986 году и с тех пор неоднократно расширялся.

Применение

Структурированные данные лежат в основе:

  • корпоративных СУБД и аналитических хранилищ;
  • финансового учёта и банковских транзакций;
  • систем электронного документооборота;
  • машинного обучения (признаковые таблицы);
  • геоинформационных систем;
  • поисковых и рекомендательных алгоритмов.

В научной сфере структурирование обеспечивают форматы и стандарты: библиографические (BibTeX, RIS), биологические (FASTA, PDB), астрономические (FITS).

Преимущества и ограничения

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

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

Смежные понятия

  • Структурное программирование — парадигма, исключающая произвольные переходы (оператор goto).
  • Структурная типизация — подход в языках программирования, при котором совместимость типов определяется их строением, а не именем.
  • Структурный анализ — методология проектирования информационных систем.

Источники

  • Кнут Д. Искусство программирования.
  • Вирт Н. Алгоритмы и структуры данных.
  • Кодд Э. Реляционная модель данных для больших разделяемых банков данных (1970).
  • Документация Schema.org.
  • Стандарт ISO/IEC 9075 (SQL).
  • Материалы W3C по семантической паутине.
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru