Вестник Кольского научного центра РАН. 2016, №1.
А. Я. Фридман некоторого уровня иерархии КМПО, построить ключевое выражение для строк таблицы, содержащей экземпляры подобъектов, то выбор экземпляра объекта верхнего уровня будет однозначно определять выбор соответствующих экземпляров подчиненных данных. Таким образом в физическую структуру БДПО закладывается система ссылок, соответствующих отношениям, заданным на КМПО. Иерархическая структура в этом случае определяется по системе встроенных указателей [6]. Для каждого элемента КМПО в базе данных КМПО создается одна запись, тип полей записи определяется форматом фреймов элементов КМПО. В запись включается набор указателей - ссылок на другие записи, которые соответствуют элементам модели, вступающим с рассматриваемым в определенные отношения. Под указатели на управляющее данное и суперданное (при его наличии) отводится по одному полю записи, в которые помещаются номера записей соответствующих элементов. Число элементов, вступающих с рассматриваемым в другие отношения (например отношения порождения), является переменным и не может быть определено однозначно для всех элементов модели. В этом случае набор указателей на соответствующие элементы представляется массивом из N номеров записей. Массив переменной длины в реляционной БД удобно располагать в двух полях записи. В одном поле хранится число N , определяющее количество элементов массива, а в другом поле, размер которого не фиксирован (поле типа memo), хранятся значения элементов массива. Кроме полей, задающих отношения элемента с другими элементами модели, в записи присутствуют поля данных, идентифицирующих сам элемент и задающих его атрибуты: номер, имя, вид (процесс, ресурс или данное), тип отношения иерархии и др. Каждому элементу модели каждого вида соответствует одна запись файла формата DBF. В определенные memo-поля каждой записи заносятся данные о связях данного элемента с другими элементами модели (входные и выходные элементы, подчиненные элементы, предшествующие процессы, если таковые заданы), а также данные о характеристиках элемента (имена, формулы и типы характеристик). Связи описываются путем перечисления в соответствующих memo-полях номеров элементов КМПО, с которыми указанный элемент вступает в определенные отношения. Данные о характеристиках есть упорядоченное перечисление соответствующих значений. Кратко представим структуру и ключевые поля основных баз данных КМПО в той степени, насколько это необходимо для описания интерфейса между подсистемами ССМ в различных режимах работы системы. Во всех таблицах этого подраздела, иллюстрирующих тип записей баз данных, затенены поля переменной длины, при описании ключей, которые состоят из нескольких полей, символ Ѳ используется для обозначения конкатенации как строковых, так и числовых величин, причем результат последней операции рассматривается как число (например, при значении поля “а” - 300, а поля “б” - 15 значение ключа “а Ѳ б” равно 30015). База данных “Описание объектов” и ее справочники представлена на рис. 1, здесь а - номер уровня объекта в дереве объектов, Р - порядковый номер объекта на его уровне, th - тип декомпозиции, cato - категория объекта. Первичный ключ равен а Ѳ р, вторичные - все поля. Когда ниже употребляется выражение “код объекта” без специальной оговорки, имеется в виду соответствующая этому объекту величина а Ѳ р. В поле psup заносится порядковый номер Р суперобъекта данного объекта на вышележащем уровне декомпозиции. а Ѳ Р имяо код типао типо а та код_типао th Psup о ейc Рис. 1. База данных “Описание объектов” База данных “Связи объектов” показана на рис. 2, здесь list_in и list_out - списки входных и выходных ресурсов. В соответствии с вышеизложенным перед каждым шешо-полем вводится ВЕСТНИК Кольского научного центра РАН 1/2016(24) 103
Made with FlippingBook
RkJQdWJsaXNoZXIy MTUzNzYz