是时候继续前进:无空值和袋子的查询
摘要
一篇学术论文,认为 SQL 使用空值和袋子是不必要的,并提出了完全规范化、无空值的语言 Rel,作为集合语义可以取代这些特性的证据。
暂无内容
查看缓存全文
缓存时间: 2026/08/13 15:22
# 是时候前进了:在没有 Null 和 Bag 的情况下进行查询 来源:https://arxiv.org/abs/2608.10863 查看 PDF(https://arxiv.org/pdf/2608.10863) > 摘要:SQL 是数据库社区在语言设计方面的一个成功故事。其成功的关键原因在于其声明性:它带来了可优化性,极大地减轻了程序员的负担。然而,鉴于用查询语言解决的问题日益复杂,我们的社区需要重新思考一些早期查询语言设计的基本决策。我们在设计 Rel(一种用于端到端关系型编程的语言)方面的经验告诉我们,设计、实现并成功部署一种基于完全规范化关系(fully normalized relations)的语言是可能的。这种关系避免了 Codd 所称的“被破坏的关系”(corrupted relations),也就是我们通常所说的 bag(多重集),以及我们称之为 null 的“有害的”“十亿美元错误”。在 SQL 世界中,人们普遍接受 bag 和 null 是不可避免的祸害而予以容忍。我们认为这种祸害完全可以避免:为 bag 和 null 辩护的理由在仔细审视后都站不住脚。除了反驳这些理由之外,我们还描述了无 null 且具有集合语义的语言所带来的机遇。 ## 提交历史 来自:Leonid Libkin \[查看电子邮件(https://arxiv.org/show-email/c48d737f/2608.10863)\] **\[v1\]** 2026年8月11日 星期二 12:34:39 UTC(105 KB)
相似文章
论键、本质与性能
一篇博客文章,为关系模型中键和规范化的必要性辩护,认为它们反映了关于现实进行连贯话语所需的本体论条件,反驳了关于定义键和域的实际困难之类的批评。
自然语言转SQL,但带有只读保护
一个将自然语言查询转换为SQL的工具,带有只读限制以防止数据修改。
立场:自然语言不应完全取代形式语言
本文立场论文反驳了自然语言可以完全取代形式语言(如编程语言)的观点,提出了一个基于信息论的特定性框架,并证明了一个交叉定理,表明形式语言在高特定性任务中更具优势。
我一直在思考空指针
作者探讨了空指针的概念,讨论了其语义角色,并提出可以像NaN装箱那样,使用其他无效指针值来存储额外信息。
在现代关系查询语言中我想要的特性
这篇文章针对现代关系查询语言,讨论了其期望的功能,批评了SQL的不足,并基于函数式编程、更好的语法和用户定义类型提出了改进建议。