ГОСТ Р И С 0 10303-11 — 2009
TYPE positive = INTEGER;
WHERE
notnegative :SELF > 0;
END_TYPE;
Любой атрибут, локальная переменная или формальный параметр, объявленный принадлежащим
к типу positive, при этом будет ограничен только положительными целочисленными значениями.
9.2 Объявление объекта
Объявление объекта ENTITY создает объектный тип данных и задает идентификатор для ссылок
на него.
Каждый атрибут представляет свойство объекта и может быть ассоциирован со значением в каждом
экземпляре объекта. Тип данных атрибута устанавливает область определения его возможных значений.
Каждое ограничение представляет одно из следующих свойств объекта;
a) Ограничения на число, вид иструктуру значений атрибутов, задаваемые вобъявлениях атрибутов.
b
) Необходимые взаимосвязи между значениями атрибута или ограничения на допустимые значения
атрибута для данного экземпляра, задаваемые условием WHERE и рассматриваемые как правила области
определения.
c) Необходимые взаимосвязи между значениями атрибута для всех экземпляров объектного типа
данных, задаваемые вследующих конструкциях:
1) в условии уникальности, где они рассматриваются какограничения на уникальность;
2) в условии инверсии, где они рассматриваются как ограничения на мощность множества;
3) в глобальных правилах (см. 9.6).
d) Необходимые взаимосвязи между экземплярами нескольких объектных типов, задаваемые не в
самом объявлении объекта, а в форме глобальных правил (см. 9.6).
Экземпляр объекта вязыке EXPRESS может быть создан только посредством конструктора объекта
см. 9.2.6) или оператора построения сложного объекта (см. 12.10).
Синтаксис:
206 entity_decl = entity_head entity_body END_ENTITY.
207 entity_head = ENTITY entityJd subsuper.
204 entity_body = { explidt_attr} ( derive_clause ] [ inverse_dause ] ( unique_clause ] (where_clause ].
Правила и ограничения;
a) Каждый идентификатор атрибута и метка, указанная вобъявлении объекта, должны быть уникаль
ными в рамках объявления.
b
) Подтип не должен объявлять атрибут, имеющий такой же идентификатор, что и атрибут одного из
супертипов, за исключением случая, когда подтип повторно объявляет атрибут, унаследованный от одного
из его супертипов (см. 9.2.3.4).
9.2.1 Атрибуты
Атрибуты типа данных ENTITY представляют особенности, качества или свойства присущие объекту.
Объявление атрибутов устанавливает взаимосвязь между типом данных ENTITY и типом данных, пред
ставляемым атрибутом.
Имя атрибута представляет роль, исполняемуюассоциированнымс ним значением вконтекстеобъекта,
в котором оно используется.
Существуют три вида атрибутов:
- явный атрибут, то есть атрибут, значение которого должно быть определено реализацией при созда
нии экземпляра объекта;
- вычисляемый атрибут, то есть атрибут, значение которого вычисляется некоторым способом;
- инверсный атрибут, то есть атрибут, значение которого состоит из экземпляров объекта, использую
щих данный объект вопределенной роли.
Каждый атрибут устанавливает взаимосвязь между экземпляром объявляющего объектного типа
данных и некоторым другим экземпляром или экземплярами. Атрибут, представленный не агрегированным
типомданных, устанавливает простую взаимосвязь с этим типом данных. Атрибут, представленный агреги
рованным типомданных, устанавливает как групповые взаимосвязи оо значениями агрегированной струк
туры. таки дистрибутивные взаимосвязи сэлементами данных значений агрегированной структуры. Кроме
того, каждый атрибут устанавливает неявную инверсную взаимосвязь между основным типом данных и
объявляющим объектным типомданных.
П р и м е ч а н и е — Дальнейшее обсуждение данных взаимосвязей приведено в приложении
G.
29