返回

文章详情

是时候继续前进了:无空值和无重复的查询

Hacker News2026年8月13日 13:54

查看 PDF 摘要:SQL 是数据库社区在语言设计方面的成功故事。成功的关键原因在于其声明性:这使得优化成为可能,显著减轻了程序员的负担。然而,考虑到用查询语言解决问题的复杂性不断增加,我们的社区需要重新思考一些早期查询语言设计的基本决策。我们在 Rel(一个用于端到端关系型编程的语言)的设计工作经验告诉我们,基于完全规范化关系的语言是可以设计、实现并成功部署的。这种关系避免了 Codd 所称的腐败关系以及我们通常称之为“重复”的情况,和我们知道的“十亿美元错误”空值。在 SQL 世界中,重复和空值被视为不可避免的恶。然而,我们认为这种恶是可以完全避免的:为此提供的理由在仔细审视后会消失。除了揭穿这些理由外,我们还描述了无空值语言和集合语义提供的机会。主题:数据库 (cs.DB);编程语言 (cs.PL) 引用:arXiv:2608.10863 [cs.DB](或 arXiv:2608.10863v1 [cs.DB],适用于此版本) https://doi.org/10.48550/arXiv.2608.10863 arXiv 发布的 DOI 通过 DataCite 提交历史 来源:Leonid Libkin [查看电子邮件] [v1] 2026年8月11日 周二 12:34:39 UTC (105 KB)

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡