存在嵌入式依赖时SQL查询的等价性
数据库
2009-06-27 v3
摘要
我们考虑在存在嵌入式依赖的情况下,寻找SQL查询的等价最小尺寸重写问题 [1]。我们的重点是带有等值比较的选择-投影-连接(SPJ)查询,也称为安全合取查询,可能带有分组和聚合。对于SPJ查询,SQL标准的语义将查询结果视为多重集(multisets,又称包),而存储的关系既可以被视为集合(这在查询求值中称为包-集语义),也可以被视为包(这称为包语义)。(在集合语义下,查询结果和存储关系均被视为集合。)在上述查询重写问题的背景下,我们开发了一个在存在嵌入式依赖时包语义和包-集语义下CQ查询等价性的综合框架,并做出了一些概念和技术上的贡献。具体而言,在输入上的集合语义下chase [9](set-chase)终止的条件下,我们开发了在任意嵌入式依赖集存在时,包语义和包-集语义下CQ查询的等价性测试。我们还提出了在存在嵌入式依赖时聚合CQ查询的等价性测试。我们利用我们的等价性测试,开发了可靠且完备(只要输入上的set-chase终止)的算法,用于求解在包语义和包-集语义下CQ查询的查询重写问题实例,以及聚合查询的问题实例。
引用
@article{arxiv.0812.2195,
title = {Equivalence of SQL Queries in Presence of Embedded Dependencies},
author = {Rada Chirkova and Michael Genesereth},
journal= {arXiv preprint arXiv:0812.2195},
year = {2009}
}
备注
Correction of the previous version as described in the last sentence of the Abstract