Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Проблема полиинстантинации.




Суть проблемы поясним на простом примере.

Пример 6. Пусть пользователь получил обзор, как это было сделано в примере 2 и решил дополнить его имеющимся в его распоряжении данными. Это нельзя запрещать, т.к. легко строится канал утечки. Предположим, что он достроил отношение примера 2.

A1 C1 A2 C2 A3 C3
mad S   S X S
foo S   S U S
ark S   S Z S

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

Построим декомпозицию произвольной MLS R в семейство стандартных базовых отношений БД. Тогда реальные отношения получаются как обзор этих базовых. При этом, стандартные базовые отношения будут одноуровневыми. Отсюда следует, что механизм хранения их идентичен механизму хранения в обычной БД (не MLS), т.е. имеется ввиду отображение при помощи программного обеспечения в файлы, сегменты и т.д. Механизм защиты здесь - внешний и не связан с конкретными элементами информации. Этот механизм определяет защиту и доступ к информации любого заданного класса.Сначала несколько замечаний.

Определение. Пусть множество атрибутов А одинаково классифицируются на всех строках отношения, тогда говорят, что они равномерно классифицированы.

Теорема 3. При выполнении основных ограничений целостности множество атрибутов первичного ключа равномерно классифицировано и этот класс доминируется классами всех остальных элементов строки.

Доказательство. Если первичный ключ не равномерно классифицирован, то возможно существует пользователь, который не имеет права на высший класс, но имеет право на низший. В этом случае, в обзоре этого отношения в атрибуте высшего класса первичного ключа должны стоять null, что противоречит требованиям целостности хранимой информации (в первичном ключе нельзя иметь null). Аналогично, если какой-то элемент имеет класс меньший, чем элементы первичного ключа, то в обзоре эта строка появится, а первичный ключ будет null. Теорема доказана.

Пусть дано R(A11,..., Аnn), где А1 - первичный ключ. Первый шаг декомпозиции - создать базовоеотношение R1,X для каждого значения х атрибута С1 первичного ключа А1, т.е. для каждого xÍ(L1, Н1)создаем R1.X(A1) с классом х. Назовем их "отношениями, связанными с первичным ключом". Если первичный ключ состоит из нескольких атрибутов, то, в силу равномерности классификации, можно считатьего одним атрибутом А1 с одним классификационным атрибутом С1 и для него создать R1.X(A1).

Второй шаг. Для произвольного А.(которое может также быть множеством атрибутов, но равномерно классифицированным с атрибутом Сi) образуем базовые отношения (называемые "отношения, связанные с атрибутом Аi").

Для i = 2,...,n каждой паре х,у, xÎ(L1, Н1), yÎ(Li, Нi), у>х (из теоремы 3) строим Ri,X,Y(A1, Аi) с классом у.

В этих отношениях, очевидно, А1 - первичный ключ. Однако таким отношениям присваивается класс у (поднимая, возможно, уровень значения первичного ключа, что при восстановлении исправляется исходя из информации в R1,X), таким образом, эти отношения одноуровневые по построению. Алгоритм декомпозиции следующий (заменим R на {R1,X(A1), Ri,X,Y(A1, Аi)}): для каждой строки (а11,..., ann) в R поместим а1 в R1,C1 и для i=l,..., n поместим (а1, аn) в Ri.C1.Ci. Любая новая строка при коррекции БД разлагается также.

Пример 7. Рассмотрим отношение из примера 1.

Очевидно, что, если исходное отношение - одноуровневое, то процедура декомпозиции тривиальна.

Рассмотрим процедуру восстановления MLS из базовых одноуровневых отношений. Определим оператор "ml", который преобразует строку стандартных отношений R1,X или Ri,X,Y, в строку MLS отношения.

а) m1(Ri,X) - многоуровневое отношение R' со схемой R'(A1,C1). Для каждой строки а1 в R1,X строка (а1, х) строится в R'.

б) m1(Ri,X,Y) - многоуровневое отношение R' со схемой R'(A1, С1, Аi, Сi). Для каждой строки а1, аi в Ri,X,Y строка (а1, х, аi, у) строится в R'.

Обозначим через УAB оператор Outer-join относительно атрибутов АВ и через U оператор Union. Тогда формула для восстановления R имеет вид:

Recover(R) = È (R’1,XУA1C1R’2,X УA1C1... УA1C1R’n,X),

xÎ{L1,H1}

где R'i,X= U R'i,X,Y, i = 2,..., n,

ye{max(Li,x),H,)

R’1,X = m1(R1,X),

R'i,X,Y =m1(R'i,X,Y).

Можно доказать следующую теорему.

Теорема 4. Recover (Decompose R) = R.

Вместо доказательства восстановим пример 1.

Пример 8. m1(Ri,X) = R’i,X

m1(Ri,X,Y) = R’i,X,Y

 

Recover(R)=((R'1SУA1C1R’2SSA1C1 (R'3SS U R'3STS)) U

U (R'1TSУA1C1R’2TSTSУA1C1R'3TSTS).

Отсюда получаем отношение примера 1.

 

Заключение

В данной лекции были рассмотрены основные модели ценности информации и проиллюстрированы примеры их использования для обработки информации.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...