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

Entity: понятие и применение в IT

Entity (от англ. entity — «сущность») — в широком смысле объект, существующий независимо и обладающий уникальной идентичностью; в информационных технологиях — поименованная область данных или класс объектов, обладающих набором атрибутов и поддающихся идентификации. Понятие используется в базах данных, программировании, семантической паутине и системном анализе для моделирования реальных или абстрактных объектов предметной области.

Определение и общая характеристика

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

Ключевые свойства любой сущности:

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

В информатике понятие сущности тесно связано с моделью «сущность — связь» (ER-моделью), предложенной Питером Ченом в 1976 году.

Entity в базах данных

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

Типы сущностей

  • Сильная (основная) сущность — существует независимо от других. Пример: таблица «Студент».
  • Слабая (зависимая) сущность — существование зависит от другой сущности. Пример: таблица «Оценка» не существует без «Студента» и «Предмета».

Ключи и идентификация

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

Нормализация

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

Entity в объектно-ориентированном программировании

В ООП сущность — это класс или объект, который хранит состояние и отражает элемент предметной области. В отличие от простых структур данных, сущности часто содержат бизнес-логику.

Entity в Java Persistence API (JPA)

В Java-экосистеме термин entity закреплён за классами, которые отображаются на таблицы базы данных через ORM-фреймворки (Hibernate, EclipseLink). Класс-сущность помечается аннотацией @Entity и должен соответствовать правилам:

  • иметь конструктор без аргументов;
  • не быть final;
  • иметь поле, помеченное @Id (первичный ключ).

Пример сущности на Java:

```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id;

private String name; private String email; // геттеры и сеттеры } ```

Entity в Domain-Driven Design (DDD)

В предметно-ориентированном проектировании (DDD) сущности — это объекты, обладающие сквозной идентичностью, которая сохраняется во времени даже при изменении атрибутов. Например, «Заказ» остаётся тем же заказом, даже если меняется его статус. Противопоставляются объектам-значениям (value objects), которые определяются только своими свойствами (например, «Адрес»).

Entity в контексте баз данных и архитектуры

В архитектуре корпоративных приложений выделяют три уровня:

  • Entity (сущность) — бизнес-объект с идентичностью.
  • Repository (репозиторий) — механизм доступа к сущностям.
  • Service (сервис) — слой бизнес-логики, оперирующий сущностями.

Такой подход позволяет отделить доменную модель от инфраструктуры (базы данных, внешних API).

Entity в семантической паутине и графах знаний

В веб-стандартах (RDF, OWL, Schema.org) сущность — это ресурс, описываемый триплетами «субъект — предикат — объект». Например, триплет «Лев Толстой — автор — Война и мир» связывает две сущности (писателя и произведение) через отношение.

В поисковых системах и графах знаний (Google Knowledge Graph, Wikidata) сущности — это именованные объекты реального мира: люди, организации, места, события. Для каждой сущности собирается страница с атрибутами и связями. Например, сущность «Москва» имеет атрибуты «население», «страна», «основана в».

Named Entity Recognition (NER)

В обработке естественного языка (NLP) выделяют задачу распознавания именованных сущностей (NER) — автоматического поиска в тексте упоминаний людей, организаций, мест, дат и других типов сущностей. Эта технология применяется в поисковых системах, системах анализа документов и чат-ботах.

Entity Component System (ECS)

В разработке игр и симуляций используется архитектурный паттерн ECS, где сущность — это просто уникальный идентификатор (ID), к которому прикрепляются компоненты (данные) и обрабатываются системами (логика). Такой подход отличается от классического ООП и позволяет гибко комбинировать поведение объектов.

Пример: игровой персонаж — сущность с компонентами «Позиция», «Здоровье», «Скорость»; система «Физика» обрабатывает все сущности, имеющие компонент «Позиция».

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

В системах управления доступом (RBAC, ABAC) сущностью называется любой субъект или объект системы: пользователь, роль, ресурс, устройство. Политики доступа описывают правила взаимодействия между сущностями.

Заключение

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

Источники

  • Чен П. «Модель „сущность — связь“ — шаг к единому представлению данных» (1976).
  • Фаулер М. «Архитектура корпоративных программных приложений» (2002).
  • Эванс Э. «Предметно-ориентированное проектирование» (2003).
  • Документация Java Persistence API (Jakarta Persistence).
  • Спецификация Schema.org.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →