Модель сущность-связь (или модель ER ) описывает взаимосвязанные вещи, представляющие интерес в конкретной области знаний. Базовая модель ER состоит из типов сущностей (которые классифицируют интересующие вещи) и определяет отношения, которые могут существовать между сущностями (экземплярами этих типов сущностей).
В разработке программного обеспечения модель ER обычно формируется для представления вещей, которые бизнес должен помнить для выполнения бизнес-процессов . Следовательно, модель ER становится абстрактной моделью данных , которая определяет структуру данных или информации, которая может быть реализована в базе данных , обычно реляционной базе данных .
Моделирование сущность-связь было разработано для базы данных и дизайна Питером Ченом и опубликовано в статье 1976 года [1] с вариантами идеи, существовавшей ранее. [2] Некоторые модели ER показывают сущности супер- и подтипов, связанные отношениями обобщения-специализации, [3] и модель ER также может использоваться в спецификации предметно-ориентированных онтологий .
Модель ER обычно является результатом систематического анализа для определения и описания того, что важно для процессов в области бизнеса. Он не определяет бизнес-процессы; он представляет только схему бизнес-данных в графической форме. Обычно его рисуют в графической форме в виде прямоугольников ( сущностей ), соединенных линиями ( отношениями ), которые выражают связи и зависимости между сущностями. Модель ER также может быть выражена в словесной форме, например: одно здание может быть разделено на ноль или более квартир, но одна квартира может находиться только в одном здании.
Сущности могут характеризоваться не только отношениями, но и дополнительными свойствами ( атрибутами ), к которым относятся идентификаторы, называемые «первичными ключами». Диаграммы, созданные для представления атрибутов, а также сущностей и отношений, могут называться диаграммами сущность-атрибут-связь, а не моделями сущность-связь.
Модель ER обычно реализуется в виде базы данных . В простой реализации реляционной базы данных каждая строка таблицы представляет один экземпляр типа сущности, а каждое поле в таблице представляет тип атрибута. В реляционной базе данных отношения между объектами реализуются путем хранения первичного ключа одного объекта в качестве указателя или «внешнего ключа» в таблице другого объекта.