Проектирование с использованием метода «сущность-связь»

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

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

Базовыми понятиями проектирования с использованием метода «сущность-связь» являются: сущность, связь, атрибут.

Сущность (Entity) – реальный либо воображаемый объект, имеющий существенное значение для рассматриваемой предметной области. Необходимо различать такие понятия, как тип сущности и экземпляр сущности. Понятие «тип сущности» относится к набору однородных личностей, предметов, событий или идей, выступающих как целое. Экземпляр сущности относится к конкретной вещи в наборе. Например, типом сущности может быть ГОРОД, а экземпляром – Москва, Киев и т.д. Предметная область информационной системы - это совокупность реальных объектов (сущностей), которые представляют интерес для пользователей.

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

· иметь уникальное имя; к одному и тому же имени должна применяться одна и та же интерпретация; одна и та же интерпретация не может применяться к различным именам, если только они не являются псевдонимами;

· обладать одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через связь;

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

Каждая сущность может обладать любым количеством связей с другими сущностями модели.

Связь (Relationship) – поименованная ассоциация между двумя сущностями, значимая для рассматриваемой предметной области. Связь – это ассоциация между сущностями, при которой каждый экземпляр этой сущности ассоциирован с произвольным (в том числе нулевым) количеством экземпляров второй сущности, и наоборот.

Сущности, охваченные некоторой связью, называются участниками этой связи. Количество участников связи определяет степень типа связи. Типы связи по степени разделяют на:

· двухсторонние – связь, в которой участвуют две сущности;

· трехсторонние – относятся к сложным связям, в ней участвуют три сущности;

· четырехсторонние – относятся к сложным связям, в ней участвуют четыре сущности;

· рекурсивные – связь, в которой одни и те же сущности участвуют несколько раз в разных ролях. В этих случаях связям могут присваиваться ролевые имена.

Самой распространенной связью является двухсторонняя. Двухсторонние связи обычно обозначаются как «один к одному» (1:1), «один ко многим» (1:М), «многие ко многим» (М:М).

1:1 – взаимно однозначная связь, т.е. по обе стороны связи для любого значения в связующем аргументе имеется только одна запись. Например: один представитель администрации управляет одним отделением.

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

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

Связь может дополнительно определяться с помощью указания степени или мощности связи (количества экземпляров сущности–потомка, которое может существовать для каждого экземпляра сущности–родителя). При проектировании с использованием метода «сущность-связь» могут быть выражены следующие мощности связей:

· каждый экземпляр сущности–родителя может иметь ноль, один или более одного связанного с ним экземпляра сущности – потомка;

· каждый экземпляр сущности–родителя должен иметь не менее одного связанного с ним экземпляра сущности–потомка;

· каждый экземпляр сущности–родителя должен иметь не более одного связанного с ним экземпляра сущности–потомка;

· каждый экземпляр сущности–родителя связан с некоторым фиксированным числом экземпляров сущности–потомка.

Атрибут (Attribute) – любая характеристика сущности, значимая для рассматриваемой предметной области и предназначенная для квалификации, идентификации, классификации, количественной характеристики или выражение состояния сущности. Атрибут представляет тип характеристик или свойств, ассоциированных с множеством реальных или абстрактных объектов (людей, мест, событий, состояний, идей, предметов и т.д.). Экземпляр атрибута – это определенная характеристика отдельного элемента множества. Экземпляр атрибута определяется типом характеристики и ее значением, называемым значением атрибута. На диаграмме «сущность – связь» атрибуты ассоциируются с конкретными сущностями. Таким образом, экземпляр сущности должен обладать единственным определенным значением для ассоциированного атрибута.

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

Атрибуты можно разделить на:

· простой – атрибут, состоящий из одного компонента с независимым существованием. Простые или элементарные атрибуты не могут быть разделены на более мелкие компоненты. Например: оклад, фамилия, должность;

· составной – атрибут, состоящий из нескольких компонентов, каждый из которых характеризуется независимым существованием. Например: адрес;

· однозначный – атрибут, который содержит одно значение для каждого экземпляра сущности определенного типа. Например: дата рождения;

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

· производный – атрибут, который представляет значение, производное от значения связанного с ним атрибута или некоторого множества атрибутов, принадлежащих некоторому (не обязательно данному) типу сущности. Например: расчет по месяцам выплаты по ссуде.

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

· потенциальный ключ – атрибут или минимальный набор атрибутов, который однозначно идентифицирует каждый экземпляр сущности. Потенциальный ключ должен содержать значения, которые уникальны для каждого отдельного экземпляра сущности данного типа и не может содержать NULL. Например: Код должности в сущности Должности;

· первичный ключ – потенциальный ключ, который выбран для однозначной идентификации каждого экземпляра сущности определенного типа. Например: каждый сотрудник имеет уникальный табельный номер, а так-же уникальный номер карточки государственного страхования (ИНН). Первичным ключом может быть выбран любой из этих атрибутов, оставшийся можно рассматривать альтернативным ключом;

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: