ГОСТ Р ИСО 10303-14—2015
Правила и ограничения
a) Если в объявлении образа присутствует более одного раздела, то элемент языка
partition_
id должен быть задан для каждого раздела.
b
) Значение элемента
partitioned
должно быть уникальным в рамках объявления образа.
c) Все разделы объявления образа должны определять одинаковые атрибуты (включая имена и
типы данных).
d) Атрибуты объявления образа должны быть представлены в одинаковом порядке в каждом из
его разделов.
9.3.4 Постоянные разделы
Раздел, в котором отсутствуют синтаксические элементы удом,
wh
e
r
e
и
L-’ENT1EIED_BY, назы
вается постоянным разделом. Постоянный раздел представляет один экземпляр образа без привязки к
исходным данным.
Пример — Данный пример иллюстрирует использование постоянных разделов:
:» ’Mary’;
:■ 22;
:■ •John*;
:■ 23;
VIEW person;
PARTITION тагу;
SELECT
name : STRING
age : INTEGER
PARTITION john;
SELECT
name : STRING
age : INTEGER
END VIEW;
9.3.5 Зависимые образы
Зависимым образом является образ, в котором нет определения атрибутов. В разделах зависи
мого образа определен элемент языка
RETURN expression
(см. синтаксическое правило 67). Вычис
ление значения элемента языка expression не должно давать в результате значение типа
aggregate
.
Вычисленное значение должно быть сопоставимо по типу данных с элементом языка
base_type
(см.
синтаксическое правило 67).
Синтаксис:
228 view decl = (root view decl Idependent view deci Isubtype view decl
) .
67 dependent view deci = VIEW view idbase type ’;’ binding header
RETURN expression {binding header RETURN expression 1 END VIEW ’;’ .
Если класс эквивалентности, определенный элементом языка
identified by
зависимого образа,
содержит более одного квалифицированного связующего экземпляра, то возвращаемое значение вы
числяется следующим образом:
- если для каждой такой связки элемент языка
return
expression
(см. синтаксическое прави
ло 67) вычисляет одинаковые значения, то возвращается данное значение;
- если для двух или более связок элемент языка
RETURN expression
(см. синтаксическое прави
ло 67) вычисляет разные значения, то возвращается неопределенное значение.
Примеры
1 В данном примере определен подтип типа данных
саг,у
экземпляров которого атрибут
colour
имеет значение ’
red’:
VIEW red car : car;
FROM rc : car;
WHERE rc.colour =’red’;
RETURN rc;
END_VIEW;
2 В данном примере определено пространство, члены которого являются строками. Эти стро
ки поступают из двух источников:
VIEW owner_name : STRING;
PARTITION one;
FROM po : person;
16