霍特SQL

HoTTSQL:用单叶SQL语义证明查询重写。每个数据库系统都包含执行查询重写的查询优化器。不幸的是,开发查询优化器仍然是一项极具挑战性的任务。部分挑战来自于查询语言的复杂性和丰富特性,这使得对重写规则的推理变得困难。在本文中,我们提出了一种可机器检查的关系数据库语言SQL的指称语义,以严格验证重写规则。与之前提出的语义不是机械化的,就是只覆盖少量SQL语言特性不同,我们的语义涵盖了SQL的所有主要特性,包括包、相关子查询、聚合和索引。我们称为HoTTSQL的机械化语义基于K-关系和同伦类型理论,在这里我们将关系表示为从元组到单价类型的数学函数。我们在Coq中实现了HoTTSQL,它只需要不到300行代码,并且已经证明了各种SQL重写规则,包括来自数据库研究文献(如magic set rewrites)和实际查询优化器(例如,子查询消除)的规则。其中一些重写规则以前从未被证明是正确的。此外,虽然查询等价性通常是不可判定的,但是我们已经使用HoTTSQL实现了一个自动决策过程:一个经过充分研究的SQL可判定片段,它包含了许多实际查询。

此软件的关键字

这里的任何内容都将在支持canvas元素的浏览器上被替换