不完全一阶数据库的受控查询评估解析
1. 语义的形式化定义
在处理数据库查询和保密策略时,需要对相关语句的语义进行精确的形式化定义。对于 $L_{GFFD}^{ps}$ 语句,之前是用自然语言表述其含义,但为了在实际数据库实例中评估语句,需要基于 S5 Kripke 模型来定义语义。
S5 Kripke 模型 $M_{GFFD}^{db} = (S_{db}^+, K_{db}, U_{db}, \pi_{db})$ 由以下四个部分组成:
- 可能世界集合 $S_{db}^+$ :表示数据库 $db$ 的模型集合 $M_i = (U_i, \phi_i, \psi_i, \zeta_i)$,且满足 $U_i = Const$ 和 $\phi_i(c_j) = c_j$ 对每个 $c_j \in Const$。与 $M_i$ 关联的世界记为 $s_i$。
- 可达关系 $K_{db}$ :$K_{db} := S_{db}^+ \times S_{db}^+$,是一个等价关系,使得该模型成为 S5 Kripke 模型。
- 定义域 $U_{db}$ :$U_{db} = Const$。
- 赋值函数 $\pi_{db}$ :变量的赋值函数 $\pi_{db}(x)$ 是任意的;常量的赋值函数 $\pi_{db}(c_j, s_i) = c_j(= \phi_i(c_j))$ 对每个 $c_j \in Const$ 和每个 $s_i \in S_{db}^+$;谓词符号 $P$ 的赋值函数 $\pi_{db}(P,