ГОСТ Р ИСО 10303-14—2015
Квалифицированное связующее пространство, соответствующее данным из примера в 9.2.2, бу
дет выглядеть следующим образом:
(<#1,#44>,<#2,#44>).
9.2.4 Идентификация экземпляров образа и целевых экземпляров
Связующий экземпляротображения или образа, не содержащий элемент языка
identified by
clause,
идентифицируют знамениями (экземплярами объектного типа данных), которые он получает
из пространств, на которые имеются ссылки в элементе языка FROM. Связующий экземпляр отображе
ния или образа, содержащий элемент языка
identified by clause,
идентифицируют значением
(значениями) элемента языка
expressicn
в соответствии с синтаксическим правилом 108. Эти схемы
идентификации используют при вызово образа (см. 10.2) и вызове отображения (см. 10.3).
Элемент языка
identified by clause
определяет отношение эквивалентности между экзем
плярами в связующем пространстве.
Синтаксис:
107 identified by_clause - !1>ENT;
fied
_BY id_parameterfid_parameter
• ; ’ )
.
108 idjparameter »• "id_parameter_id ’:’expression .
1Q9 id_parameter_id - simple_id .
00 from_clause - FROM source_parameteri source_parameter
• .
198 source_parameter - source_parameter_id ’:’ extent_reference .
Правила и ограничения
При использовании в объявлении отображения элемента языка
expression
в элементе
id
parameter
синтаксические конструкции языка не должны ссылаться на экземпляры целевых объек
тов отображения или на любые их атрибуты при любом уровне косвенности.
Два связующих экземпляра относятся к одному классу эквивалентности, если для каждого выра
жения элемента языка
identified by clause
вычисление значения данного выражения в контек сте
этих экземпляров дает в результате то. что данные экземпляры равны (пункт 12.2.2 ИСО 10303-11). В
процессе реализации создается один экземпляр образа (образов) или целевая сеть (отображения) для
каждого класса эквивалентности.
Пример — Данный пример иллюстрирует использование элемента языка
identified_by.
SCHEMA_V1EW example;
REFERENCE FROM some_schema;
VIEW department;
FROM e : employee;
IDENTIFI£D_BY e.department_name;
SELECT
name : STRINGe.department_name;
END_VIEW;
END_SCHEMA_VIEW;
SCHEMA some_schema;
ENTITY employee;
name : STRING;
department name : STRING;
END_ENTITY;
END_SCHEMA;
#l=EMPLOYEE(’Jones’,’Engineering’);
#2=EMPLOYEE(’Smith’,’Sales1);
#3=EMPLOYEE(’Doe’,’Engineering’);
Для представленных в данном примере образе и данных существуют два класса эквивалентно
сти:
(<#1>,<#3>)
и
(<#2>),
соответствующие связующим экземплярам с
е.department_name ■
’Engineering’ и е.department_name ■ ’Sales ’
соответственно.
9.2.5 Классы эквивалентности и процесс реализации
Атрибуты образа (см. 9.3.2) и атрибуты целевого объекта (см. 9.4.2) представляют характеристики
соответствующих образа (объявление образа) и объектов целевой сети (объявление отображения). Эти
12