Инфологическое моделирование данных сущность-связь

В процессе развития теоретических и программных средств БД возникла необходимость в создании средств описания проектируемых БД, которые бы сочетали полноту и наглядность описания структур БД. Таким образом обеспечивалась бы связь между заказчиком и разработчиком БД. Заказчик в данном описании указывает смысл и особенности хранимой информации. Разработчик данное описание рассматривает в качестве достаточно однозначного руководства к проектированию структуры БД, не привязанного к какой-либо конкретной СУБД.

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

В настоящий момент модель среди инфологических моделей наиболее распространена модель «сущность—связь», или «Entity Relationship» (ER). В настоящий момент не существует единой общепринятой системы обозначе-ний для ER-модели, но разобравшись в одной, можно легко понять и другие нотации.

МОДЕЛЬ СУЩНОСТЬ-СВЯЗЬ

Применение модели ER особенно эффективно при программной поддержке процесса моделирования. При этом ряд существующих программных систем ER – моделирования включают средства преобразования инфологической модели в физическую модель конкретной СУБД и обратно, что значительно упрощает процесс проектирования и сопровождения проектов БД. В том числе, и сами СУБД (Access, Cache и др.) включают соответствующие средства для упрощения создания физической схемы БД.

Одной из наиболее распространенных инвариантных (не привязанных к конкретной СУБД) программных систем ER-моделирования является ERWIN (Computer Associates), особенности применения которой при проектировании БД мы рассмотрим на лабораторной работе.

Поскольку важным требованием к инфологическим моделям является наглядность представления, ER – модели БД представляют собой набор графических диаграмм (ER-диаграмм) с пояснениями. При построении диаграмм ERWIN применяет нотацию (систему обозначений) IDEF1X, которую мы и будем использовать в дальнейшем. IDEF1X является стандартом, который включает язык для описания структуры и семантики информационных моделей, а также связанные с языком правила и методы разработки логических моделей данных.

СУЩНОСТЬ

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

В рамках данного определения объект является экземпляром некоторой сущности. Однако существуют другие определения, в которых под сущностями понимают сами объекты реального мира, а их общие, типовые черты называют типом сущности. Мы буде придерживаться первого определения, ориентируясь на соглашения стандарта IDEF1X.

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

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

Различают зависимые и независимые сущности. Экземпляры независимой сущности могут существовать вне зависимости от существования экземпляров других сущностей. Необходимым условием существования экземпляров зависимой сущности является наличие связанных экземпляров некоторой другой сущности (или сразу нескольких). Зависимая сущность обозначается прямоугольником со скругленными углами.

АТРИБУТ

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

Лекция 6

СВЯЗИ МЕЖДУ СУЩНОСТЯМИ

Между сущностями могут быть установлены связи, показывающие, каким образом сущности соотносятся или взаимодействуют между собой. Связь может существовать между двумя или несколькими разными сущностями или между сущностью и ней же самой (рекурсивная связь). Связь именуется глаголом или глагольной фразой. Имя связи выражает некоторое ограничение или правило. Между двумя сущностями может быть задано сколько угодно связей с разными смысловыми нагрузками.

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

Различают следующие типы связей:
а) идентифицирующая связь «один ко многим» (независимая сущность с зависимой от нее). Обозначается сплошной линией с точкой на дочернем конце связи. При этом первичный ключ родительской записи включается в качестве первичного ключа дочерней.

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

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

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

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

Ассоциативная - сущность, связанная с несколькими родительскими сущностями. Такая сущность содержит информацию о связях сущностей

Именующая - частный случай ассоциативной сущности, не имеющей собственных атрибутов (только атрибуты родительских сущностей, мигрировавших в качестве внешнего ключа). В качестве примера можно рассмотреть предыдущий пример с сущностью «Изучаемый группой предмет» без атрибута «Семестр».

Категориальная - дочерняя сущность в иерархии наследования.

Иерархия наследования (или иерархия категорий) представляет собой особый тип связи сущностей, отражающий наличие в сущностях одинаковых наборов атрибутов. Сущность, включающая все атрибуты своих дочерних называется родовым предком. Дочерняя сущность называется родовым потомком и включает дополнительные атрибуты, которые конкретизируют понятие, задаваемое родовой сущностью.

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

Иерархии категорий делятся на два типа - полные и неполные. В полной категории одному экземпляру родового предка обязательно соответствует экземпляр в каком-либо потомке. Если в родовом предке могут существовать экземпляры, которые не имеют соответствующих экземпляров в потомках, то такая категория будет неполной.

Наши рекомендации