ГОСТ Р ИСО/МЭК 8824-2-2001
MatrixOperations OPERATION : : =
{
invert Matrix |
addMatrices |
subtractMat rices |
multiplyMatrices
I
13 Ассоциированные таблицы
13.1 Каждый информационный объект или множество информационных объектов могут быть
представлены как таблица —его ассоциированная таблица. Каждая ячейка ассоциированной табли
цы соответствует установке некоторого поля информационного объекта или является пустой.
Совокупность столбцов ассоциированной таблицы определяется классом, к которому объект или
объекты относятся; совокупность строк определяется объектом или объектами, которые вызваны.
13.2 Для заданного определения класса совокупность столбцов определяется следующим
образом:
а) имеется по одному столбцу для каждой спецификации поля в определении класса. Каждый
такой столбец называется соответствующим именем «PrimitiveFieldName*;
б) имеется дополнительная совокупность столбцов, соответствующих каждой спецификации
поля связи. Эта совокупность определяется применением настоящих правил к управляющему классу
поля связи, за исключением того, что их имена дополняются префиксом «PrimitiveFieldName* поля
связи и точкой («.*).
П ри мечан ие —Эти правила являются рекурсивными, и таким образом, если класс, прямо или
косвенно, яазястся самоссылающимся, то совокупность столбцов нс ограничена. Это нс запрещается.
13.3 Для данного информационного объекта некоторого класса ассоциированной таблицей
является та, которая появляется в результате применения 13.4 к множеству объектов, содержащему
только этот объект.
13.4 Для данного множества информационных объектов некоторого класса совокупность строк
в ассоциированной таблице является той, которая получается при осуществлении следующей
рекурсивной процедуры:
а) сначала имеется одна строка для каждого объекта в множестве объектов. В каждой такой
строке ячейки встолбцах, названных именами «PrimitiveFieldName*. будут соответствовать установке
соответствующего поля в объекте, а все другие ячейки будут пустыми;
б) для каждого поля связи, появляющегося в некоторой строке в совокупности:
1) создается (подчиненная) ассоциированная таблица содержимого поля связи;
2) далее строка, в которой появилось поле связи, заменяется совокупностью строк по одной
для каждой строки подчиненной ассоциированной таблицы. Каждая строка в этой совокупности
является такой же, как и замененная, за исключением того, что ячейки из выбранной строки
подчиненной ассоциированной таблицы используются для наполнения соответствующих ячеек
(прежде пустых), имена «FieldName* которых имеют в качестве префикса «PrimitiveFieldName* нолей
связи.
Примечание —Этипривиларекурсивныитакие, что. еслиинформационныйобъект, прямоиликосвенно,
являетсясамоссылаюшимся, топроцедурансбудетзавершаться. Эгонс Запрещается. Напрактике необходимотолько
знать содержимое ячеек с именами конечной длины, а для них может бытьсослана конечная процедура.
13.5 Примеры допустимых конструкций «FieldName*
Следующие конструкции «FieldName* относятся к допустимым для ассоциированной таблицы
дтя объектов или множеств объектов класса OPERATION (определенного в 10.13):
&ArgumeiuType
&Errors.&Parameter
&
EiTors.&errorCode
&Linked.&ArgumentType
&Linked.& Linked, x operationCode
&Linked.&Linked.&Linked.&Linked.&Linked.&Errors.&ErrorCode
Так как класс OPERATION является самоссылающимся (из-за поля &Linked). то количество
столбцов не ограничено.
15