
TL;DR
This paper explores how to incorporate SQL-style nulls and incomplete information into the Nested Relational Calculus (NRC), proposing explicit and implicit approaches and analyzing their implications for language integration and formal properties.
Contribution
It introduces explicit and implicit methods for handling nulls in NRC, providing translations and discussing their impact on language integration and normalization.
Findings
Explicit and implicit null handling approaches are proposed.
Translations relate the two approaches.
Extensions of normalization and conservativity are sketched.
Abstract
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…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
