关系型数据库应用的静态依赖分析与高效无证书签名方案
关系型数据库应用的静态依赖分析
- 语义独立性定理
- 给定两个语句 Q1 和 Q2,设 Adef(Q1) 和 Ause(Q2) 分别是在抽象多面体域中表示的数据库定义部分和使用部分。若对于所有 X ⊆γ(Adef(Q1)),所有 Y ⊆γ(Ause(Q2)),都有 X ∩ Y ⊆γ(Adef(Q1) ∩ Ause(Q2)),则语义独立性的计算是可靠的,这意味着 Adef(Q1) ∩ Ause(Q2) = ∅ 时,X ∩ Y = ∅。
- 现有依赖计算方向讨论
- 查询包含作为依赖计算
- 查询包含问题是检查对于每个数据库,一个查询的结果是否是另一个查询结果的子集。形式上,查询 Q1 包含于查询 Q2 表示为 Q1 ⊑ Q2 ⇐⇒ ∀D Q1(D) ⊆ Q2(D),且 Q1 ≡ Q2 ⇐⇒ Q1 ⊑ Q2 ∧ Q2 ⊑ Q1,其中 Q(D) 表示查询 Q 在数据库 D 上的结果。
- 合取查询包含的复杂度是 NP 完全的。查询包含对于查询优化、检测查询与数据库更新的独立性、使用视图重写查询等有作用。但数据库应用的依赖计算问题不仅考虑 SELECT 查询,还包括 DML 命令(INSERT、UPDATE、DELETE),所以查询包含问题的解决方案不能为涉及写 - 写和写 - 读操作的数据库应用的基于语义的依赖计算提供完整解决方案。
<
- 查询包含作为依赖计算
超级会员免费看
订阅专栏 解锁全文
2388

被折叠的 条评论
为什么被折叠?



