Если
ϕ
— произвольный набор из операций преобразования ма-
трицы M и
ψ
(M)
— формула алгебры высказываний, построенная из
элементарных высказываний вида
r
∈
M[
u,
(
o, q
)]
, где
r
— любое из
прав записи, чтения, стирания или обновления и M
[
u,
(
o, q
)]
— про-
извольный элемент матрицы M, то пара
k
= (
ψ
(M)
, ϕ
)
называется
командой изменения прав доступа, заданных матрицей M. В ней
ψ
называется условием для выполнения команды. Результатом примене-
ния команды
k
к M является матриц а
k
(M)
такая, что
k
(M) = M
, если
ψ
(M) =
л
, и
k
(M) =
ϕ
(M)
в противном случае. Если
k
=
k
1
. . . k
n
— произвольная последовательность команд изменения прав досту-
па в M, то результат ее применения к M определяется как матриц а
k
(M) =
k
n
(
. . .
(
k
2
(
k
1
(M)))
. . .
)
. Множество результатов применения к
матрице M всевозможных конечных последовательностей команд из
некоторого множества K команд изменения прав доступа обозначается
K
∗
(M)
. Если M — это матриц а прав доступа к базе
B
, то M и матриц ы
в
K
∗
(M)
называются состояниями доступа базы
B
.
В случае, когда информационные объекты принадлежат некото-
рой базе данных и доступ к данным в них ограничивается состояни-
ем доступа этой базы, соответствующим образом ограничиваются и
операции манипулирования с объектами
insert, select, delete, update
.
Обозначенные соответственно как
ins, sel, del, upd
эти ограничения
операций определяются следующим образом. Пусть
u
— произволь-
ный субъект базы данных,
μ
— ее состояние доступа,
o
— ее объект,
d
— произвольное данное, однотипное с
o
,
s
— значение первичного
ключа в
d
и
P
– логическое выражение, принадлежащее объекту
o
.
Тогда для
nam
∈ {
ins, del, upd
}
:
nam
(
u, μ, o, d
) =
⎧⎨
⎩
0
,
если
nam
/
∈
μ
[
u,
(
o, s
)];
nam
(
o, d
)
и, кроме того,
sel
(
u, μ, o, P
) =
select
(
o
− {
(
o, q
) :
sel /
∈
μ
[
u,
(
o, q
)]
}
, P
);
del
(
u, μ, o, P
) =
delete
(
o
− {
(
o, q
) :
del /
∈
μ
[
u,
(
o, q
)]
}
, P
);
upd
(
u, μ, o, dP
) =
update
(
o
− {
(
o, q
) :
upd /
∈
μ
[
u,
(
o, q
)]
}
, dP
)
.
Распространим предыдущие операции на базы данных, введя сле-
дующие четыре операции:
Sel
— чтение,
Ins
— запись,
Del
— стирание
и
Upd
— обновление. Каждая из них является функцией от пяти ар-
гументов и записывается в форме
nam
(
u, μ, β, o, α
)
, где
nam
— имя
операции,
nam
∈ {
Sel, Ins, Del, Upd
}
,
β
= (
O, ρ, χ
)
— база данных,
u
— субъект базы;
β, μ
— ее состояние доступа,
O
— объект в
β
и
α
—
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. “Приборостроение”. 2007. № 1 111