Comprehending nulls

Research output: Chapter in Book/Report/Conference proceedingConference contribution


The Nested Relational Calculus (NRC) has been an influential high-level query language, providing power and flexibility while still allowing translation to standard SQL queries. It has also been used as a basis for language-integrated query in programming languages such as F#, Scala, and Links. However, SQL's treatment of incomplete information, using nulls and three-valued logic, is not compatible with `standard' NRC based on two-valued logic. Nulls are widely used in practice for incomplete data, but the question of how to accommodate SQL-style nulls and incomplete information in NRC, or integrate such queries into a typed programming language, appears not to have been studied thoroughly. In this paper we consider two approaches: an explicit approach in which option types are used to represent (possibly) nullable primitive types, and an implicit approach in which types are treated as possibly-null by default. We give translations relating the implicit and explicit approaches, discuss handling nulls in language integration, and sketch extensions of normalization and conservativity results.
Original languageEnglish
Title of host publicationProceedings of the 18th International Symposium on Database Programming Languages (DBPL 2021)
Number of pages4
ISBN (Electronic)978-1-4503-8646-3
Publication statusPublished - 16 Aug 2021
Event18th International Symposium on Database Programming Languages - Copenhagen, Denmark
Duration: 16 Aug 202116 Aug 2021


Conference18th International Symposium on Database Programming Languages
Abbreviated titleDBPL 2021
Internet address


  • Nested relational calculus
  • incomplete information
  • nulls


Dive into the research topics of 'Comprehending nulls'. Together they form a unique fingerprint.

Cite this