是时候告别 SQL 中的 Null 和 Bags 了

Time to Move On: Querying Without Nulls and Bags

是时候告别 SQL 中的 Null 和 Bags 了

SQL 凭借其声明式特性成为数据库领域的成功典范,但随着问题复杂度的提升,早期设计中的妥协已显弊端。作者基于 Rel 语言的开发经验指出,完全规范化的关系模型不仅能避免 Codd 所称的“损坏关系”和常见的 Bags(多重集),更能彻底消除被称为“十亿美元错误”的 Null 值。文章论证了 Null 和 Bags 并非不可避免的恶,其存在理由经不起推敲。通过摒弃这些概念,采用无 Null 且基于集合语义的语言,我们将迎来更清晰、更强大的查询能力。

在 SQL 世界中,Bags 和 Null 被视为不可避免的恶,但我们认为这种恶完全是可以避免的:为它们辩护的理由在仔细审视下便会烟消云散。

同日更多故事

2026-08-13