ГОСТ Р ИСО 10303-11— 2009
END_SCHEMA;----abstract_example
При формировании длинной формы, конструкция ABSTRACT преобразуется в ограничение
SUPERTYPE. Вводится тип данных SELECT, чтобы обеспечитьразныетипы данных, которыеобобщен
ный атрибут супертипа создает в его подтипах. Посколькутипы данных, используемые в списке выбо
ра, не обязательноявляются именованными, то по мере необходимости создаются определенныетипы
данных.
Результирующая схема по ИСО 10303-11:1994 выглядит следующим образом:
SCHEMA longform:
ENTITY person:
END_ENTITY;
ENTITY product:
END_ENTITY;
ENTITY organization;
END_ENTITY;
TYPE set_of_product = SET OF product;
END_TYPE;
TYPE set_of_person = SET OF person;
END_TYPE;
TYPE nary_relationship_end_one_select = SELECT
(set_of_person. set_of_product):
END_TYPE;
ENTITY nary_relationship
ABSTRACT SUPERTYPE:
end_one : nary_relationship_end_one_select;
end_two:organization:
END_ENTITY;
ENTITY product_of_organization
SUBTYPE OF (nary_relationship);
SELRnary_relationship.end_one: SET OF product;
END_ENTITY~
ENTITY person_in_organization
SUBTYPE OF (naryRelationship);
SELF\nary_relationship.end_one: SET OF person:
END_ENTITY;~
END_SCHEMA; — longform
G.5.6 Преобразование атрибутов, переименованных при повторном объявлении
Для каждого атрибута, переименованного в подтипе при повторном объявлении, применяют следующие
правила преобразования:
- повторные объявления, изменяющие только имя атрибута, но не изменяющие его типа данных, должны
быть удалены:
- в повторных объявлениях с переименованием должны быть удалены ключевое слово RENAMED и следу
ющее за ним новое имя атрибута;
- в данном подтипе должны быть созданы вычисляемые атрибуты с новыми именами;
- вычисленные значения атрибутов должны иметь следующие вид:
SELF\<
hmb
супертипа>.<старое имя атрибута».
П р и м е р — В данном примере промежуточная схема, сформированная в соответствии с G.4,
названа renamed_example.
SCHEMA renamed_example;
ENTITY binary_relationship;
end_one: being;
end_two:structure:
END_ENTITY;
ENTITY being;
END_ENTITY;
ENTITY structure;
END_ENTITY;
ENTITY person
SUBTYPE OF (being);
END_ENTITY;
176