Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Синтаксис и семантика IDEF1X




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

Компонентами IDEF1X-модели являются:

Сущности

  • Независимые от идентификаторов сущности
  • Зависимые от идентификаторов сущности

Отношения

  • Отношения, идентифицирующие связи
  • Отношения, не идентифицирующие связи
  • Отношения категоризации
  • Неспецифические отношения

Атрибуты/ключи

  • Атрибуты
  • Первичные ключи
  • Альтернативные ключи
  • Внешние ключи

Сущности

Семантика сущностей

"Сущность" представляет множество реальных или абстрактных предметов (людей, объектов, мест, событий, состояний, идей, пар предметов и т.д.), обладающих общими атрибутами или характеристиками. Отдельный элемент этого множества называется экземпляром сущности. Реально существующий объект или предмет может быть представлен в нескольких сущностях модели данных. Например, Джон Дол может быть экземпляром каждой из сущностей СЛУЖАЩИЙ и ПОКУПАТЕЛЬ. Кроме того, экземпляр сущности может представлять комбинацию существующих объектов. Например, Джон и Мэри могут быть экземпляром сущности супружеская_пара.

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

Синтаксис сущностей

Сущность изображается блоком, как показано на рис. 3-1. Если сущность зависима от идентификаторов, то углы блока закругляются.

Рис. 3-1. Синтаксис сущности

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

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

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

Правила, связанные с сущностями:

  1. Каждая сущность должна иметь уникальное имя, и к одному и тому же имени должна всегда применяться одна и та же интерпретация. Одна и та же интерпретация не может применяться к различным именам, если только они не являются псевдонимами.
  2. Сущность обладает одним или несколькими атрибутами, которые либо принадлежат сущности, либо наследуются через отношение. (См. раздел 3.7 "Внешние ключи").
  3. Сущность обладает одним или несколькими атрибутами, которые " однозначно идентифицируют каждый экземпляр сущности (см. раздел 3.6 "Первичные и альтернативные ключи").
  4. Каждая сущность может обладать любым количеством отношений с другими сущностями модели.
  5. Если внешний ключ целиком используется в качестве первичного ключа сущности или его части, то сущность является зависимой от идентификатора. И наоборот, если используется только часть внешнего ключа или вообще не используются внешние ключи, то сущность является независимой от идентификатора.

 

Отношения связи

Семантика отношений связи

Специфическое отношение связи, или просто отношение связи, называемое также отношение родитель-потомок или отношение зависимости существования, - это ассоциация или связь между сущностями, при которой каждый экземпляр одной сущности, называемой родительской сущностью, ассоциирован с произвольным (в том числе нулевым) количеством экземпляров второй сущности, называемой сущностью-потомком, а каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя. Таким образом, экземпляр сущности-потомка может существовать только при существовании сущности-родителя. Например, специфическое отношение связи будет существовать между сущностями ПОКУПАТЕЛЬ и ЗАКАЗ_НА_ПОКУПКУ, если покупатель производит ноль, один или более заказов на покупку, а каждый заказ на покупку должен производиться одним покупателем. IDEF1X-модель описывает совокупность или множество отношений между двумя сущностями. Специфический экземпляр отношения связывает специфические экземпляры сущностей. Например, экземпляром отношения является "покупатель Джон Дол произвел заказ на покупку N 123".

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

  1. Каждый экземпляр сущности-родителя может иметь ноль, один или более связанных с ним экземпляров сущности-потомка.
  2. Каждый экземпляр сущности-родителя должен иметь не менее одного связанного с ним экземпляра сущности-потомка.
  3. Каждый экземпляр сущности-родителя может иметь не более одного связанного с ним экземпляра сущности-потомка.
  4. Каждый экземпляр сущности-родителя связан с некоторым фиксированным числом экземпляров сущности-потомка.

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

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

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

Например, отношение "исключающее ИЛИ" утверждает, что для данного экземпляра сущности-родителя при существовании одного типа экземпляра сущности-потомка не будет существовать второй тип экземпляра сущности-потомка. Если, однако, сущность-родитель и сущность-потомок относятся к одному реально существующему предмету, то потенциально существует отношение категоризации (см. раздел 3.3).

Другим типом ограничения является "утверждение пути", регламентирующего отношение между специфическими экземплярами сущности-родителя и сущности-потомка, при котором две сущности могут быть связаны либо прямо, либо косвенно, через две различные последовательности отношений. Например, сущность ОТДЕЛ может иметь две сущности-потомка: СЛУЖАЩИЙ и ПРОЕКТ. Если сущности СЛУЖАЩИЙ и ПРОЕКТ обладают общей сущностью-потомком с именем НАЗНАЧЕНИЕ_ПРОЕКТА, то НАЗНАЧЕНИЕ_ПРОЕКТА косвенно связано с сущностью ОТДЕЛ двумя разными путями отношений. Утверждение пути может устанавливать, что "служащие могут быть приписаны только к тем проектам, которыми занимается отдел, где служащие работают".

Синтаксис отношения связи

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

Рис. 3-2. Синтаксис мощности отношения

Буква Р (positive) означает мощность "один или много" и помещается около точки. Буква Z (zero), помещенная около точки, означает мощность "ноль или один". Если мощность в точности равна некоторому числу N, это число (целое, положительное) помещается около точки (см. рис. 3-2).

Идентифицирующее отношение между сущностью-родителем и сущностью-потомком изображается сплошной линией (см. рис. 3-3).

Рис. 3-3. Синтаксис идентифицирующего отношения

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

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

Рис 3-4. Синтаксис неидентифицирующего отношения

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

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

Правила отношений

  1. Специфическое отношение всегда имеет место между в точности двумя сущностями, сущностью-родителем и сущностью-потомком.
  2. Экземпляр сущности-потомка всегда должен быть связан в точности с одним экземпляром сущности-родителя.
  3. Экземпляр сущности-родителя может быть связан с любым числом (от нуля и более) экземпляров сущности-потомка, где это число зависит от указанной мощности.
  4. В идентифицирующем отношении сущность-потомок всегда является зависимой от идентификаторов сущностью.
  5. Сущность может быть связана с любым количеством других сущностей как в качестве потомка, так и в качестве родителя.

 

Отношения категоризации

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...