ГОСТ Р ИСО 10303-11— 2009
Приложение Н
(справочное)
Взаимосвязи
Н.1 Взаимосвязи через атрибуты
В языке EXPRESS объявление вобъектном зиледанных атрибута, областью определения которого являет
ся другой тип данных, явно устанавливает взаимосвязь между этими двумя типами данных. Данная взаимосвязь
считается простой взаимосвязью, которая связывает экземпляр объявляющего объекта с одним экземпляром
представляющего типа данных.
Для того, чтобы описать взаимосвязи, устанавливаемые атрибутами, имеющими агрегированные значения,
определяют как основной базисный тип для типа данных нвагрегированный тип данных, задаваемый следующим
образом:
- основным базисным типом неагрегированного типа данных является сам данный тип данных;
- основным базисным типом агрегированного типа данных является основной базисный тип его базисного
типа.
Если основным базисным типом атрибута А является Т. принимают, что А основан на Т.
Тогда объявление в объектном типе данных атрибута, областью определения которого является агрегиро
ванный тип данных, основанный на основном базисном типе, устанавливает два вида взаимосвязей:
- групповая взаимосвязь между объявляющим объектом и агрегированным типом данных, связывающая
экземпляр объявляющего объекта с совокупностью экземпляров основного базисного типа;
- дистрибутивная взаимосвязь между объявляющим объектом и основным базисным типом, связывающая
экземпляр объявляющего объекта с одним или несколькими экземплярами основного базисного типа по отдель
ности.
П р и м е ч а н и е — Данный подход отличается от подходов, принятых в некоторых других языках модели
рования. Например, в модели Сущность-связь (ER-модели) объекты и взаимосвязи моделируются разными кон
струкциями.
Как простыв, так и дистрибутивные взаимосвязи направлены от объявляющего объекта к некоторому друго
му типу данных. Полезно рассмотреть мощность этих взаимосвязей (с точки зрения объявляющего объекта). Если
мощность обозначить как т : п (где
OimSn),
то каждый экземпляр объявляющего объекта связан не менее чем
с m и не более с п экземплярами целевого типа данных. Если п имеет неопределенное (?) значение, то
не существует верхнего ограничения на число экземпляров целевого типа данных, с которыми может быть
связан экземпляр объявляющего объекта.
Полезно рассмотреть инверсную взаимосвязь, представляющую обратное направление простой или дист
рибутивной взаимосвязи. Данная взаимосвязь неявно существует всегда и по умолчанию имеет мощность 0 : ?.
Она может быть явно поименована и возможно ограничена посредством объявления атрибута INVERSE в пред
ставляющем типе данных, если представляющий тип данных является объектным типом данных.
Пример — В данном примере существует простая взаимосвязь между объектными типами дан
ных first и second, е котором second играет роль ref. Мощность данной взаимосвязи по отношению к first
в данном случаеравна 1:1 (то есть каждый экземпляр объекта first связан строго с одним экземпляром
объекта second,). Мощность данной взаимосвязи по отношению к secondбудет 0: ?или неограниченной
(то есть один экземпляр объекта second может бытьлибо не связан ни с одним или связан с несколькими
экземплярамиобъекта first), что определяет значение мощности инверсной взаимосвязи по умолчанию.
ENTITY first;
ref: second;
fattr : STRING;
END_ENTITY;
ENTITY second;
sattr : STRING;
END_ENTITY;
Если объектный тип данных Е имеет взаимосвязьс типомданных Т, установленным атрибутом А. тоданная
взаимосвязь может быть условно изображена следующим образом;
Е. А{т:п} (р :<у) ) у,
где 0 &т£п и 0i p i q . Здесьт :п являетсямощностью прямой взаимосвязиот Е кТ. ар :q является мощностью
инверсной взаимосвязи от Т к Е.
Ниже в более формализованной форме описаны три вида взаимосвязей и соответствующие им мощности.
178