ГОСТ Р ИСО/МЭК 8824-3-2002
Пример
В примере раздела 10 первая продукция «AtNotation» в компоненте errorlnfo («©errorCategory»)
иллюстрирует случай а), тогда как вторая («@.errorCategory») —случай б).
10.11 Компонент, в котором используется эта нотация, является указывающим компонентом,
а компоненты, идентифицированные «AtNotation», являются указываемыми компонентами.
10.12 Множество объектов «ObjectSet* (см. 10.3) или «DefinedObjectSet* (см. 10.7) яазяется
ограничивающим множеством, а ассоциированная таблица, полученная из него (как определено в
ГОСТ Р ИСО/МЭК 8824-2. раздел 13), является ограничивающей таблицей.
10.13 Ограничение связи компонента может быть применено только к типу АСН. 1, которое
текстуально содержится в типе «Туре* (ограниченный тип), содержащем текстуально все указывае
мые компоненты. Ограниченный тип. по определению, должен быть самым внутренним «Туре»,
который удовлетворяет приведенному выше условию.
11р и м е р
В примере раздела К) ограниченный тип есть ErrorRetum.
П р и м е ч а н и е
— В
некоторых отношениях можно рассматривать применение
ЭТОГО
ограничения как
использование значений указываемых компонентов для идентификации строки в ограничивающей таблице, а
затем — использование значении соответствующего столбца для ограничения указывающего компонента. С
этой точки зрения сами указываемые компоненты нс могут рассматриваться как ограниченные.
Однако описанный ниже подход несколько иной.
В
нем ограничение рассматривается как действие над
всеми возможными значениями ограниченного типа (которые, как объяснено выше, нс являются значениями
указывающего компонента) и выбор некоторых из этих значений в качестве удовлетворяющих ограничению.
Этот подход позволяет рассматривать значении ограниченного типа, которые нс содержат значения ни указы
вающего компонента, ни одного или нескольких указываемых компонентов (так как они являются факульта
тивными или находятся внутри выборочных), и значения ограниченного типа, в которых один из указываемых
компонентов имеет значение, не соотвегствуютсс ни одной строке в ограничивающей таблице.
10.14 Указывающий и tree указываемые компоненты должны быть типов «ObjectClass-
FieldType*, относящимися к одному и тому же классу. Множество ограничений должно быть
множеством информационных объектов этого класса. Указываемые компоненты должны быть
полями значения или полями множества значений, ограниченные тем же самым множеством
объектов, что и указывающий компонент.
П р и м е р
В примере раздела 10 тип «ObjectClassFieldType* —это весь класс ERROR-CLASS, так как он
является ограничивающим множеством, которое есть множество ErrorSet.
10.15 В следующих разделах определяется множество значений ограниченного типа, которое
удовлетворяет этому ограничению.
10.16 Если указывающий компонент отсутствует в значении ограниченного типа, то значение
всегда удовлетворяет ограничению.
f1р и м е р
В примере раздела 10. если отсутствует компонент «errors*, то ограничения на ошибки удов
летворяются.
10.17 Если любой указываемый компонент отсутствует в значении ограниченного типа, то
значение удовлетворяет ограничению только в том случае, если указывающий компонент также
отсутствует, и в этом случае ограничение всегда удовлетворяется.
10.18 Если укашвдющий и все указываемые компоне!ггы присутствуют, то ограничение удов
летворяется только в том случае, если в ограничивающей таблице существует одна или несколько
выборочных строк, таких, что для каждой выборочной строки:
а) каждый указываемый компонент, который является полем значения, имеет значение, яв
ляющееся таковым для соответствующего столбца выборочной строки;
б) каждый указываемый компонент, который является полем множества значений, имеет
значение, которое является одним из таковых в множестве значений соответствующего столбца
выборочной строки.
10.19 Ограничение удовлетворяется тогда и только тогда, когда указывающий компонент
удоазетворяет простому табличному ограничению (как определено выше), полученному примене
нием таблицы, содержащей только выборочные строки для указывающего компонента.
6