Нотация IDEF 1х

Эта нотация получила большое распространение в среде разработчиков, и долгое время являлась стандартом для моделирования базы данных па логическом и физическом уровнях в силу наличия на рынке специализированного программного средства СЛ AllFusion ERWin Data Modeler. Интегрируясь со средством моделирования бизнес-процессов, данный инструмент являлся одним из наиболее предпочтительных инструментов, давая возможность реализовать практически полностью этап проектирования информационной системы от описания бизнес-функций до структурирования данных и перевода модели в физическую базу данных. Для работы в этой нотации были определены следующие обозначения элементов (табл. 2.16).

Таблица 2.16

Обозначения элементов в нотации IDEF 1х

№ п/п

Обозначение

Описание

1

Сущность

Сущность с указанием атрибутов

Атрибуты

2

Первичный ключ (РК)

Первичный ключ

3

Внешний ключ (FK)

Внешний ключ

4

Идентифицирующая связь

5

11еидентифицирующая связь

6

Кардинальность 1, 1

7

Кардинальность 0. N

8

Кардинальность 0, 1

Z

9

Кардинальность 1, N

Р

10

Кардинальность "точно Аг"

N*

11

Связь многие — ко — многим (№М)

12

а

Связь категоризации

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

Согласно нотации ГОЕБ 1х сущность обозначается ее наименованием (рис. 2.56), представленным существительным или словосочетанием с главным словом в виде существительного, представляя объект предметной области, сведения о котором будут представляться в таблице базы данных, соответствующей моделируемой сущности.

Рис. 2.56. Пример обозначения сущности в нотации IDEF 1х


Под наименованием сущности формируется область прямоугольной формы, разделенная на две части, где верхняя часть содержит атрибуты, представляемые первичными ключами, а нижняя часть содержит все остальные атрибуты, включая внешние ключи. Для обозначения первичного ключа к наименованию атрибута добавляется аббревиатура "РК" (Primary Key). При обозначении внешнего ключа к атрибуту добавляется аббревиатура "FK" (Foreign Key). Таким образом, описание сущности содержит необходимый минимальный набор сведений о структуре информационного объекта.

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

Рис. 2.57. Пример детального описания сущности в нотации IDEF 1х


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

Рис. 2.58. Пример не идентифицирующей связи в нотации ШЕК 1х


Для обозначения не идентифицирующей связи нотацией предусмотрено использование пунктирной линии. В случае использования идентифицирующей связи разработчик должен применять сплошную линию.

Как и в других нотациях, в нотации ШЕР 1х можно указывать смысловое наполнение связи и ее мощность (кардинальность), что имеет соответствующее обозначение и литеру на конце связи. Для обозначения множественности экземпляров сущности, связываемых с одним экземпляром другой сущности, на конце формируется жирная точка. Так, для обозначения связи многие — ко — многим (М.М) жирная точка будет размещаться с обеих сторон связи (рис. 2.59).

Рис. 2.59. Пример обозначения связи многие — ко — многим в нотации ШЕР 1х


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

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

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

N — экземпляр первой сущности должен быть связан точно с N экземпляров второй сущности.

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

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

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

Рис. 2.60. Пример связи один — к — одному в нотации ШЕР 1х


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

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

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

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

Рис. 2.61. Пример обозначения связи категоризации в нотации ШЕР 1х


В результате использования нотации ЮЕГ 1х в рассматриваемом примере может получиться Вперед модель, иллюстрирующая основные правила представления модели и использования соответствующих элементов (рис. 2.62).

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

Рис. 2.62. Пример модели в нотации ШЕР 1х