带约束的合取查询的包含性与同态性质
在数据库查询领域,合取查询(Conjunctive Queries)的包含性测试是一个重要的研究方向。本文将介绍标准合取查询、带算术比较的合取查询(AC queries)以及带线性算术约束的合取查询(CLAC queries)的包含性测试,同时探讨同态性质在这些查询中的重要性。
1. 合取查询的包含性定理
- 标准合取查询的包含性 :设 $Q_1$ 和 $Q_2$ 为合取查询,$Q_1: h(\overline{X}) :- g_1(\overline{X_1}), \cdots, g_k(\overline{X_k})$,$Q_2: h(\overline{Y}) :- p_1(\overline{Y_1}), \cdots, p_l(\overline{Y_l})$。$Q_2$ 包含于 $Q_1$(记为 $Q_2 \subseteq Q_1$)当且仅当存在从 $Q_1$ 到 $Q_2$ 的包含映射。
- AC 查询的包含性 :设 $Q_1$ 和 $Q_2$ 为合取查询,$Q_1: h(\overline{X}) :- g_1(\overline{X_1}), \cdots, g_k(\overline{X_k}), \alpha_1, \cdots, \alpha_n$,$Q_2: h(\overline{Y}) :- p_1(\overline{Y_1}), \cdots, p_l(\overline{Y_l}), \beta_1, \cdots, \beta_m$,其中 $\alpha_i$ 和 $\beta_j$ 形式为 $A\theta B$($A