No More Nulls!

07/28/2023
by   Yisu Remy Wang, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/24/2020

Handling SQL Nulls with Two-Valued Logic

The design of SQL is based on a three-valued logic (3VL), rather than th...
research
06/15/2018

Efficient Handling of SPARQL OPTIONAL for OBDA (Extended Version)

OPTIONAL is a key feature in SPARQL for dealing with missing information...
research
03/03/2011

A Wiki for Business Rules in Open Vocabulary, Executable English

The problem of business-IT alignment is of widespread economic concern. ...
research
07/23/2021

Comprehending nulls

The Nested Relational Calculus (NRC) has been an influential high-level ...
research
05/06/2019

Mixing set and bag semantics

The conservativity theorem for nested relational calculus implies that q...
research
06/06/2018

Extended Diffix

A longstanding open problem is that of how to get high quality statistic...
research
11/10/2022

Ultraverse: Efficient Retroactive Operation for Attack Recovery in Database Systems and Web Frameworks

Retroactive operation is an operation that changes a past operation in a...

Please sign up or login with your details

Forgot password? Click here to reset