Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по IDEF1x.doc
Скачиваний:
51
Добавлен:
28.09.2019
Размер:
671.74 Кб
Скачать

4.3. Отношение связи. Определенное отношение связи.

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

Приведем пример отношения связи (определенного отношения связи). Сущности НАКЛАДНАЯ и ЗАПИСЬ_НАКЛАДНОЙ находятся в отношении связи, т.к. одному экземпляру сущности НАКЛАДНАЯ соответствует несколько экземпляров сущности ЗАПИСЬ_НАКЛАДНОЙ, но один экземпляр сущности ЗАПИСЬ_НАКЛАДНОЙ соответствует только одному экземпляру сущности НАКЛАДНАЯ.

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

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

Иногда отношение связи может иметь два имени: с точки зрения сущности-родителя и с точки зрения сущности-потомка. Для предыдущего примера отношение с точки зрения сущности-потомка будет выглядеть следующим образом: «Запись накладной содержится точно в одной накладной». Имя отношения с точки зрения сущности-родителя пишется первым, а за ним после знака «/» пишется имя отношения с точки зрения сущности-потомка («содержит/содержится»). Если между двумя сущностями существует несколько отношений, имя каждого отношения должно быть уникальным, хотя внутри одной модели имена отношений могут повторяться. Подробнее о порядке наименования отношений см. Приложение 2. Лексические соглашения.

Отдельный экземпляр отношения связывает отдельные экземпляры сущностей. Например, «Накладная за номером 1456 содержит запись номер 12» – это экземпляр отношения связи.

Если экземпляр сущности-потомка можно идентифицировать только благодаря его связи с сущностью-родителем, то такое отношение называется идентифицирующим, и каждый экземпляр сущности-потомка соответствует точно одному экземпляру сущности-родителя. Например, если с каждым проектом связаны одна или несколько задач, все задачи пронумерованы, причем нумерация уникальна только в рамках одного проекта, то и однозначно идентифицировать задачи можно только внутри проекта. Тогда между сущностями ПРОЕКТ и ЗАДАЧА существует идентифицирующее отношение. Т.е. для того, чтобы однозначно идентифицировать задачу среди множества других задач необходимо знать связанный с ней проект. В отношении связи сущность ПРОЕКТ будет сущностью-

родителем, а сущность ЗАДАЧА – сущностью-потомком. Сущность-потомок в идентифицирующем отношении всегда зависима от сущности-родителя, т.е. экземпляр сущности-потомка может существовать только в том случае, если он связан с экземпляром сущности-родителя. В указанном примере никакая задача не может существовать вне проекта.

Если каждый экземпляр сущности-потомка может быть однозначно идентифицирован без знания экземпляра соответствующей сущности-родителя, то отношение относится к не идентифицирующим отношениям. Например, хотя между сущностями НАКЛАДНАЯ и ПРИХОДНЫЙ_ОРДЕР может существовать зависимое отношение (один экземпляр приходного ордера соответствует точно одному экземпляру накладной), приходный ордер можно однозначно идентифицировать только по коду ордера без идентификации соответствующей накладной.

Не идентифицирующее отношение может быть обязательным и необязательным. В обязательном не идентифицирующем отношении каждый экземпляр сущности-потомка соответствует точно одному экземпляру сущности-родителя (как в примере с накладной и приходным ордером). В необязательном не идентифицирующем отношении каждый экземпляр сущности-потомка соответствует ноль или одному экземпляру сущности-родителя. Необязательное не идентифицирующее отношение представляет собой условно существующую зависимость. Например, сущность ЦЕХ объединяет все цеха предприятия, сущность РАБОТНИК – всех работников предприятия. В каждом цехе трудятся много работников. В то же время каждый работник трудится или в цехе, или вне его, и может быть идентифицирован по индивидуальному номеру. Тогда можно говорить о существовании необязательного не идентифицирующего отношения между сущностью-родителем ЦЕХ и сущностью-потомком РАБОТНИК.