Читайте также:
|
|
Предположим, что мы хотим внести решетку ценностей (например, MLS) в конкретную информацию, которая хранится и обрабатывается на ЭВМ. Рассмотрим примеры механизмов такого внесения и проблемы, которые здесь возникают. Для определенности рассмотрим информацию, структурированную и обрабатываемую при помощи реляционной базы данных. Такая модель информации называется реляционной моделью данных (РМ).
РМ состоит из отношений, которые представляют собой таблицы со многими входами, и алгебры отношений, которая позволяет строить новые отношения в терминах других отношений (в РМ входят также правила целостности хранимой информации и производной информации).
Каждое отношение R определяется схемой R (А1,..., Аn), которая характеризуется множеством атрибутов А1,,..., Аn, т.е. переменных, описывающих входы таблицы. Отношение состоит из множества записей (векторов или строк), которые представляют собой значения данных в области определения атрибутов (то есть элементы таблицы — значения атрибутов).
Реляционная алгебра состоит из операторов для выбора всех или части записей, имеющих определенные значения из отношения (таблицы), и для добавления данных в различные отношения.
В реляционной модели выделяют реальные (или базовые) отношения, которые соответствуют хранящимся данным, и производные отношения, которые образуются с помощью реляционных операторов(РО)РОоо.
РО строит новые отношения из одного или нескольких существующих. Можно определить пять основных операторов и два производных.
Реляционные операторы:
а) основные
1. Select (R, F).
Строит новое отношение, состоящее из всех векторов (строк) R, удовлетворяющих F, где F — формула вида "AiQV" или "АiQАj", где Q — отношение сравнения (=,£ и т.д.) и V — значение из области Di атрибута Аi. (Этот оператор также называют "Q — выбор").
2. Project (R (Ai1,...,Aik,)).
Строит новое отношение следующим образом:
берутся по очереди все строки R и из каждой из них выбрасываются все элементы в координатах, не являющиеся атрибутами Ai1,...,Aik затем удаляются дубликаты в множестве получившихся строк нового отношения.
3. Union (R1, R2,).
Строит новое отношение, состоящее из строк, которые есть хотя бы в одном отношении R1 или R2. Схемы для R1, и R2 должны быть совместимы, то есть иметь одинаковое число атрибутов, согласование по области определения атрибутов.
4. Diff (R1,R2,).
Строит новое отношение, состоящее из тех и только тех строк R1, которые не входят в R2. Схемы R1 и R2 должны быть совместимы.
5. Product (R1, R2).
Образует новое отношение из прямого произведения таблиц R1 и R2, т.е. каждая строка R1 приписывается каждой строке R2.
Кроме перечисленных основных РО полезно определить следующие два производных оператора.
б) производные
6. Natural-join (R1, R2, (Ai1,...,Aik).
Этот оператор выбирает и оставляет в новой таблице вектора из прямого произведения R1 и R2 такие, в которых атрибуты Ai1,,...,Aik, принимают одинаковое значение и затем выбрасываются лишние атрибуты (встречающиеся дважды).
7. Outer-join (R1, R2, (Ai1„...,Aik).
Строит Natural-join из R1 и R2 и к нему добавляет каждую строку в R1, которая не имеет подходящей строки в R2, а также добавляет каждую строку в R2, которая не имеет подходящей строки в R1.
Внесение решетки ценностей в информацию, наделенную структурой реляционной базы данных.
Такое внесение возможно не всегда. Функционирование базы данных может привести к противоречию с размещением информации в том или ином классе решетки и затем, к компрометации этой информации. Чтобы этого не случилось надо согласовывать все элементы БД (т.е. отношения и реляционную алгебру) и решетку ценностей. А именно, при внесении решетки в БД (короче, при классификации информации) необходимо решить следующие задачи:
1. Уметь классифицировать отдельные (неделимые) факты и объекты. В реляционных БД требуется поддерживать MLS на уровне элементов потому, что каждая строка отношения может содержать много различных фактов, имеющих разные классификации (например, время вылета — секретно, время прибытия — секретно, назначение — совершенно секретно). Хотя в литературе использовались и другие подходы.
2. Уметь создавать для просмотра пользователями виртуальные отношения. Будем называть их обзорами, в которых не все данные имеют одну классификацию Поскольку обзоры это производные данные, то создание обзора требует проведения классификации производных данных.
3. Уметь вносить новые данные и обновлять старые, причем элементы вносимых данных могут иметь разную классификацию.
4. Необходима состоятельность классов информации, т.е. для каждого факта не должны при различных видах обработки получаться различные классы ценности. При этом пользователь может не иметь доступа к некоторым классам, но не должен из-за этого терять возможность работать с БД.
5. Уметь определять ограничения целостности на данных, имеющих различную классификацию. В частности, это надо делать автоматически, чтобы не заставлять пользователя запоминать все правила классификации информации.
6. Уметь восстанавливать данные с учетом их классификации.
Основная идея внесения MLS в БД (D. Denning, Т. Lunt и др.) состоит в создании нового отношения, где классы MLS входят как атрибуты отношения То есть, любая данная схема расширяется включениями классификационного атрибута Сi для каждого атрибута данных Аi. Область значений Сi определяется парой классов (Li, Нi), которые определяют подрешетку от низшего класса Li до высшего для данного атрибута класса Нi. Класс элемента аi в данном векторе определяется С(аi)=Сi в этой подрешетке (функция C(a)=class(a) — обозначает отображение элементов РМ в решетку).
Определение. Многоуровневое базовое отношение (MLS R) определяется как произвольное отношение, у которого существуют классификационные атрибуты Сi для всех атрибутов данных Аi. Такое отношение представляется схемой:
R(A1, C1,...,An,Cn).
Пример 1. Решетка {S, TS}; Al — первичный ключ.
Al Cl | A2 C2 | A3 C3 |
mad S foo S ark TS | 17 S 34 S S TS | X S W TS У TS |
Схема, в целом, классифицирована как S.
Определение. Атрибут Ai и соответственно атрибут Ci в MLS R называется одноуровневым, если область, определяемая Ci, — одна точка в решетке, иначе Ai называется многоуровневым.
Определение. MLS R называется одноуровневым, если все атрибуты одноуровневые и соответствуют одному классу.
Схема для MLS R также классифицируется. Этот класс обозначается class(R) и этот класс относится к имени отношения, имени всего набора атрибутов R и схеме. Class(R) должен доминироваться нижней гранью L1,..., Ln классификационных атрибутов С1,..., Сn в схеме. Это свойство позволяет доминировать class(R) всеми элементами таблицы.
В стандартной реляционной базе любой отсутствующий элемент представляется каким-нибудь аналогом нулевого значения. Положим, что это выполняется и для многоуровневой реляционной модели. Кроме того, нулевое значение атрибута Аi будет определять наименьшее значение Li атрибута Сi.
Тогда, если новое отношение V, например, обзор, не должен содержать TS данных, то должна осуществляться фильтрация данных, помещаемых в V. Тогда
S — отфильтрованный обзор предыдущего примера, примет вид. Пример 2.
Al Cl | A2 C2 | A3 C3 |
Mad S foo S | 17 S 34 S | X S null S |
Классификационные ограничения.
Классификация информации в ходе функционирования системы происходит автоматически на основе классификационных ограничений (КО).
Дата добавления: 2014-12-15; просмотров: 115 | Поможем написать вашу работу | Нарушение авторских прав |