ГОСТ Р ИСО 10303-14—2015
Синтаксис:
136 шар deci = MAP map id AS target parameter , c target parameter
}
( map subtype of clause subtype binding header map decl body ) I (
binding header map decl body ( binding header map decl body }
)
END MAP ,;* .
47 binding header = [ PARTITION partition id] ( from clause )
[
local decl )
[
where clause J ( identified by clause J (
ordered by clause ] .
203 subtype binding header = ( PARTITION partition id ,;’ J where clause .
90 from clause = FROM source parameter ,;’ { source parameter ,;’ } .
198 source
83 extent
parameter =
reference =
source parameter id ,:’
source entity reference
extent reference .
I view reference .
137 map decl body = ( entity instantiation loop (
entity instantiation loop J ) |map proiect clause | (RETURN expression
,;’ >’ •
214 target^parameter = target parameter id { ,,’ target parameter id ) ,:*
( AGGREGATE [ bound spec J OF ] target entity reference .
213 target entity reference = entity reference (entity reference ) .
Правила и ограничения
Элемент map id из синтаксического правила 136 присваивает имя объявлению отображения.
Пример
—
В данном примере объект
pump
из исходного набора данных отображается на объекты
productоproduct_related_product_category;
SCHEMA source_schema;
ENTITY pump;
id, name : STRING;
END_ENTITY;
END_SCHEMA;
SCHEMA target_schema;
ENTITY product;
id, name : STRING;
END_ENTITY;
ENTITY product_related_product_category;
name : STRING;
products : SET OF product;
END_ENTITY;
END SCHEMA;
SCHEMA_MAP pump_mapping;
REFERENCE FROM source_schema AS SOURCE;
REFERENCE FROM target_schema AS TARGET;
MAP network_for_pump AS
pr :product;
prpc :product_related_product_category;
FROM p :pump;
SELECT
pr.id := p.id;
pr.name :* p.name;
prpc.name := ’pump*;
prpc.products ;s [pr ];
END_MAP;
END_SCHEMA_MAP;
Необходимо отметить, что в данном примере для каждого созданного экземпляра объекта
prod
uct
существует точно один созданный экземпляр объекта
product_relatedjproduct_category.
Исходные значения атрибутов вновь созданного экземпляра (экземпляров) являются неопреде
ленными. Если такой атрибут не задан в теле отображения, то его значение остается неопределенным.
19