ГОСТ Р ИСО 10303-14—2015
(* Схема отоОражения А)
SCHEMA_MAP example;
REFERENCE FROM src AS SOURCE;
REFERENCE FROM tar AS TARGET;
MAP student_employee_to_person AS p : tar.person;
PARTITION student;
FROM s : src.student;
SELECT
p.name ;= s.name;
PARTITION employee;
FROM e : src.employee;
SELECT
p.name ;= e.name;
END_MAP;
END_SCHEMA_MAP;
9.4.5 Отображение на тип данных и его подтипы
Объявления отображений могут быть представлены в виде иерархии типов и подтипов данных.
В объявлениях отображений подтипов данных может быть расширено множество экземпляров объек
тов. созданных отображением их супертипа. Определение задания значений целевых атрибутов,
объ явленное в отображении супертипа, наследуется отображениями ого подтипов. Таким образом,
шаблон наличия наследования в целевой схеме может быть дублирован в объявлениях отображений.
Синтаксис:
136 map decl = MAP тар id AS target parameter( target parameter)
{ map subtype of clause subtype binding header map decl body ) I (
binding header map decl body { bunding header map decl body }
)
END MAP ’;* .
141 map subtype of clause = SUBTYPE OF ’{’ map reference ’)’■
Наследование между объявлениями отображений должносоответствовать следующим правилам:
- объявление отображения подтипадолжно быть выполнено в том случае, если вычисленные зна
чения его правила
WHERE
и правил
WHERE
всех отображений его супертипов равны
TRUE;
- объявление отображения подтипа наследует все целевые параметры от объявлений отображе
ний его супертипов:
- в объявлении отображения подтипа может быть повторно объявлен тип данных любого целево
го параметра из объявлений его супертипов. Тип данных повторно объявленного целевого параметра
должен быть конкретизацией каждого типа данных целевого параметра, объявленного в отображениях
его супертипов. Правила конкретизации определены в пункте 9.2.6 ИСО 10303-11;
- в объявлении отображения подтипа могут быть добавлены новые целевые параметры с по
мощью объявления дополнительного синтаксического элемента
target parameter
с атрибутом
target parameter id,
которые должны отличаться от использованных в объявлениях отображе
ний его супертипов;
- если в отображении супертипа объявлен целевой параметр типа данных
SELECT
(см.
пункт 8.4.2 ИСО 10303-11).
GENERIC
(см. пункт 9.5.3.2 ИСО 10303-11) или объектного типа данных,
объявленного как
ABSTRACT
(см. пункт 9.2.4.1 ИСО 10303-11), и не выполняется объявление отобра
жения подтипа, которое повторно объявляет данный целевой параметр, то для данного целевого пара
метра не должны быть созданы экземпляры.
Расширяет ли отображение подтипа множество экземпляров объектов, созданных отображени
ем его супертипа, или конкретизирует эти созданные экземпляры зависит от того, ссылается ли ото
бражение подтипа на синтаксические элементы
target parameter id.
объявленные в отображе
нии супертипа, или объявляет дополнительные синтаксические элементы
target parameter id.
В отображении подтипа может быть введен синтаксический элемент
target parameter id.
кото рый
не определен ни в одном из отображений супертипов. При этом создается новый целевой объект,
имеющий тип данных, определенный целевым параметром.
23