Skip to main content
QUICK REVIEW

[论文解读] Queries with Guarded Negation (full version)

Vince Bárány, Balder ten Cate|arXiv (Cornell University)|Mar 1, 2012
Advanced Database Systems and Queries参考文献 36被引用 6
一句话总结

本文提出了 GN-SQL 和 GN-Datalog 查询语言,将否定限制为受保护形式——确保否定条件仅作用于共享同一上下文的元组——从而实现可判定且高效的查询处理。其主要贡献在于证明了查询包含、查询评估和有界性等核心问题在这些语言下是可判定的,且具有可 tractable 的复杂度,涵盖主要的现有语言,并覆盖了大多数实际的 SQL 否定模式。

ABSTRACT

A well-established and fundamental insight in database theory is that negation (also known as complementation) tends to make queries difficult to process and difficult to reason about. Many basic problems are decidable and admit practical algorithms in the case of unions of conjunctive queries, but become difficult or even undecidable when queries are allowed to contain negation. Inspired by recent results in finite model theory, we consider a restricted form of negation, guarded negation. We introduce a fragment of SQL, called GN-SQL, as well as a fragment of Datalog with stratified negation, called GN-Datalog, that allow only guarded negation, and we show that these query languages are computationally well behaved, in terms of testing query containment, query evaluation, open-world query answering, and boundedness. GN-SQL and GN-Datalog subsume a number of well known query languages and constraint languages, such as unions of conjunctive queries, monadic Datalog, and frontier-guarded tgds. In addition, an analysis of standard benchmark workloads shows that most usage of negation in SQL in practice is guarded negation.

研究动机与目标

  • 通过将否定限制为受保护形式,解决标准查询语言中否定带来的计算不可解性问题。
  • 将 GN-SQL 和 GN-Datalog 定义为实用且行为良好的查询语言,支持有用的否定形式。
  • 证明在受保护否定下,核心数据库问题(如查询包含和开放世界查询回答)是可判定且可高效求解的。
  • 证明受保护否定能够捕捉大多数现实世界 SQL 使用模式,使其在理论和实践上均具意义。
  • 将已知的可判定性结果从逻辑推广到数据库查询语言,推广了关于一元 Datalog 和合取查询并集的先前工作。

提出的方法

  • 定义 GNFO(受保护否定的一阶逻辑)和 GNFP(受保护否定的固定点逻辑)作为受保护否定的基础形式化框架。
  • 提出 GN-SQL 作为 SQL 的语法子集,其中否定被限制为受保护条件,确保可转化为 GNFO。
  • 定义 GN-Datalog 为一种带有分层否定的 Datalog 变体,其中被否定的原子必须由同一元组中的 EDB 原子所保护。
  • 通过逻辑和代数表征,证明 GN-SQL 和 GN-Datalog 分别在表达能力上完全覆盖 GNFO 和 GNFP。
  • 分析真实世界的 SQL 基准工作负载,表明大多数实际否定均为受保护形式,从而支持该限制的合理性。
  • 通过将问题归约并转化为 GNFO/GNFP,利用有限模型论中的已知结果,建立复杂度界限。

实验结果

研究问题

  • RQ1是否可以以某种方式限制 SQL 和 Datalog 中的否定,使其在保持核心查询问题可判定性的同时仍具备足够的表达能力?
  • RQ2受保护否定是否足以捕捉现实世界 SQL 工作负载中大多数实际的否定用法?
  • RQ3受保护否定语言的查询评估、包含和开放世界查询回答的联合复杂度与数据复杂度分别是多少?
  • RQ4对于带有受保护否定的 Datalog,有界性问题是否可判定?其与一元 Datalog 已知结果的比较如何?
  • RQ5GN-SQL 和 GN-Datalog 是否可以扩展支持常量、比较或聚合操作,同时保持可判定性和可 tractable 性?

主要发现

  • GN-SQL 和 GN-Datalog 的查询包含问题是 2ExpTime-完全的,这表明其可判定,并处于一个已知的复杂度类中。
  • GN-SQL 的查询评估具有联合复杂度 P^NP[log²],GN-Datalog 的联合复杂度为 P^NP,表明在合理假设下具有高效的可 tractable 性。
  • GN-SQL 的开放世界查询回答在数据复杂度下为 coNP-完全,且在显著的子集上可于 PTime 内求解。
  • GN-Datalog 的有界性问题可判定,推广了已知的一元 Datalog 可判定性结果。
  • GN-SQL 和 GN-Datalog 包含合取查询并集、一元 Datalog 和前缘受保护的 tgds,展现出广泛的表达能力。
  • 标准 SQL 基准工作负载中,大多数否定形式均为受保护形式,验证了该限制的实践相关性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。