ГОСТ Р ИСО 10303-14—2015
ENTITY person_with_j>arents
SUBTYPE OF (person);
parents : SET [1:2] of person;
END_ENTITY;
END_SCHEMA;
SCHEMA_MAP source_to_target;
REFERENCE FROM source_schema AS SOURCE;
REFERENCE FROM target_schema AS TARGET;
MAP person_map AS
p :person;
PARTITION p_male;
FROM m :male;
SELECT
p.name :в m
.
name;
PARTITION p_female;
FROM f : female;
SELECT
p.name :e f.name;
PARTITION p_child;
FROM c : child;
RETURN person_with_parents_map(c);
END_MAP;
MAP person_with_parents_map AS
p :person_with_parents;
FROM c: child;
WHERE SIZEOF (c.parents) > 0; -- объект person_with_jparents создается только в том
-- случае, когда имеется хотя бы один из родителей.
SELECT
р.name :в с.name;
р.parents := FOR EACH par IN c.parents;
RETURN person_map(par); --
cm
. 10.5.
END_MAP;
END_SCHEMA_MAP;
(* Пример значений:
SOURCE:
ftl=FEMALE(’Julia’);
#3=MALE(’Richard’);
#4=CHILD(’Mary’, (#1));
#5=CHILD(’Paul’, (ft1,#3));
(#6));
(#8,#6));
TARGET:
ft6=PERSON(’Julia’) ;
ft7=PERSON_WITH_PARENTS( ’M ary’,
ft8=PERSON(’Richard’);
ft9=PERSON_WITH_PARENTS(’Paul’,
*)
10.4 Вызовы частичного связывания
Вызов частичного связывания представляет собой вызов образа или отображения, в котором в
качестве одного или нескольких аргументов используется элемент языка ’ •. Вызов частичного связы
вания обеспечивает оценку подмножества пространства образа или деловой совокупности элементов в
объявлении образа или отображения соответственно.
Элемент языка
from
определяет элементы связующих экземпляров в связующем пространстве
вызова образа или отображения (см. 9.2.1). Если в объявлении образа или отображения не задан
элемент языка IDENTIFIED BY, то данное объявление определяет функциональное соответствие
36