Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СИИ.doc
Скачиваний:
104
Добавлен:
02.05.2014
Размер:
3.54 Mб
Скачать

2.5.5.2. Метаструктура базы данных и операций

Как уже было сказано, модуль базы данных предназначен для размеще­ния данных, обрабатываемых в процессе, реализуемом ПСМ. Основными параметрами, определяющими организацию конкретной базы данных, являются объем и характер данных, тип операций над ними, а также стратегия управления процессом вывода.

База данных состоит из следующих пяти основных частей, из кото­рых две последние являются факультативными: памяти, каркаса, упра­вления, контроля несовместимости, ассоциативной надстройки.

Первые две части служат для размещения данных. Управление орга­низует выполнение основных операций над данными, такими как поиск по образцу, добавление и удаление. Контроль несовместимости обеспечи­вает реализацию многовариантных стратегий управления. Ассоциатив­ная надстройка служит для оптимизации операции "поиск по образцу" и процесса выбора правил, применимых к текущему состоянию базы. Рассмотрим каждую из составных частей более подробно.

2.5.5.2.1. Характер организации данных

Данные в базе организованы в структуру, называемую основной.Эле­ментами этой структуры являются компоненты. Компонента, в общем случае, является структурной единицей произвольной сложности и пред­ставляет собой четверку:

  • имя(идентификатор);

  • тип— каждому типу сопоставляется характеристика (фиксиро­ванный набор переменных) и структура. В характеристику может входить информация о некоторых стандартных для данного типа отношениях с другими компонентами;

  • описание— определяет конкретные значения для каждой перемен­ной в характеристике данного типа;

  • тело — информация, конкретизирующая сопоставленную данному типу структуру и определяющая структуру данной компоненты че­рез компоненты-аргументы и отношения между ними.

Вид основной структуры может быть самым различным, например, множество, цепочка, дерево, граф. Как уже было сказано, данные хранятся в каркасе и памяти, при­чем в каркасе, как правило, размещается граф основной структуры данных, вершинами которого являются пары <имя компоненты, тип компоненты>, а остальная часть компонент хранится в памяти, вход в которую осуществляется по имени требуемой компоненты.

2.5.5.2.2 Операции над базой данных

Стандартным способом доступа к данным базы является вход по ассоци­ативному адресу {образцу), осуществляемый операцией "поиск по образ­цу". Аргумент операции "поиск по образцу" представляет собой структу­ру, характер которой может меняться в достаточно широком диапазоне в зависимости от функций, выполняемых базой данных. Результатом этой операции является множество (возможно, пустое — негативный резуль­тат) всех референтов образца-аргумента, т.е. фрагментов базы данных, каждый из которых представляет собой ответ на запрос, специфициро­ванный в форме этого образца.

Можно выделить несколько типов образцов.

Простой образец— это фрагмент структуры того же типа, что и каркас. В вершинах простого образца компоненты могут указываться частично, например, только имя или только тип. Характер процедуры, реализуемой операцией "поиск по образцу", может быть двух видов:

  • точное совпадение — референты изоморфны образцу с точностью до отсутствующих элементов в образце;

  • покрытие — может выполняться в тех случаях, когда задается ча­стичный порядок над символами, выступающими в качестве эле­ментов образца. Референтами в этом случае являются фрагменты каркаса, покрываемые образцом, в том смысле, что графы образца и референта изоморфны, а элементы образца либо совпадают с со­ответствующим символом референта, либо находятся выше его по иерархии.

Разрывный образец — это совокупность простых образцов, свя­занных дугами специального вида, отсутствующими в каркасе. В этом случае графы образца и референта не являются изоморфными, посколь­ку в последнем отсутствуют специальные дуги. Можно сказать, что при разрывном образце поиск происходит не на самом каркасе, а на его тран­зитивном замыкании по одному или нескольким типам отношений. В. Образец с отрицательным контекстом представляет собой пару

< положительный образец, отрицательный образец >,

в которой каждый из образцов простой или разрывный. Процедура по­иска для такого образца определяется следующим образом. Выполняется поиск по положительному образцу, найденному референту Rопределяют­ся имена вершин, общих для положительного и отрицательного образцов. Эти имена подставляются на соответствующие позиции в отрицатель­ный образец, по которому вновь осуществляется поиск. Если множество референтов в этом случае пусто, тоRпринимается в качестве референ­та поиска по образцу с отрицательным контекстом. В противном случае поиск не выдает результат.

Отсутствие связи между положительным и отрицательным образца­ми представляет собой частный случай описанной выше процедуры, при которой поиск по обоим образцам осуществляется независимо, а общий результат определяется так же.

Сложный образец — представляет собой совокупность видов образ­цов, перечисленных выше. Результатом поиска по сложному образцу является сочетание процедур поиска по каждому из образцов совокуп­ности.

Будем делить операцию "поиск по образцу" на два основных вида: одновариантный и многовариантныйпоиск.

В случае одновариантного поиска в базе данных отыскивается единственный (первый подходящий) референт, в то время как при многовариантном поиске процесс продол­жается до тех пор, пока не будут найдены все возможные фрагменты базы данных, которые могут быть референтами для данного образца.

Одним из существенных факторов, определяющих результат опера­ции "поиск по образцу" при одновариантном поиске, является то, фик­сируется или нет порядок сканирования каркаса при выполнении опе­рации "поиск по образцу". Например, при каркасе-цепочке это может быть просмотр слева направо или справа налево, при дереве — от корня к листьям или в обратном направлении. В тех случаях, когда порядок просмотра является внешней характеристикой базы данных, он может быть фиксированным (встроенным) или изменяемым в процессе работы (настраиваемым).

Еще одной операцией над базой данных является добавление. Смысл этой операции — присоединение новых данных к данным, находящимся в базе. Аргумент этой операции состоит из двух частей: первая пред­ставляет собой тот фрагмент, который присоединяется к базе данных, и имеет ту же организацию, т.е. состоит из каркаса и набора компонент, сопоставленных его вершинам; вторая часть является, в общем случае, ассоциативным адресом, указывающим, к каким вершинам каркаса бу­дет присоединяться новый фрагмент.

Операция исключение удаляет из базы данных фрагменты, которые являются аргументом этой операции. Так же как и при операции "доба­вление", вершины, входящие в описание аргумента, могут специфициро­ваться именем или образцом.

Таким образом, функции базовых операций управления определяются выбором характера операции "поиск по образцу", поскольку все осталь­ные операции являются стандартными и однозначно определяются вы­бором каркаса и памяти. С помощью этих операций можно описывать процедуры редактирования базы данных произвольной сложности.