






























Since the inception of SQL, nulls have frustrated database users and builders alike. Those writing SQL must painstakingly guard their queries against surprising results caused by nulls, while those building database engines constantly struggle to implement the subtle semantics of 3-valued logic. Given that the relational model already provides a way to represent missing information, namely, with the absence of a tuple in a relation, one may step back and ask:"Are nulls really necessary?" We answer:"No!" by proposing a new semantics for SQL that completely eliminates nulls. Our semantics, called Columnar Semantics, is as expressive as the standard 3-valued logic semantics, and behaves the same when the data and query are null-free. Where the two semantics differ, Columnar Semantics results in simpler queries. To evaluate Columnar Semantics and any other alternative semantics or query languages, we propose MIA (Missing Information Artifacts), a collection of queries and data sets for handling missing information, and invite contributions from the community.
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。