Relational query languages have been studied and used for more than 50 years, with SQL overwhelmingly dominating, in practice. Yet that dominance is now being challenged from several directions at once: higher-level abstractions such as ER-style and functional data models, unified application languages that integrate database querying with application logic, algebraic intermediate representa- tions that blur the boundary between logical and physical query specification, and (most recently) large language models (LLMs) that both generate and explain queries. At the center of this ecosystem is SQL, a powerful but irregular language whose syntactic variants and accumulated features complicate both human understanding and automated reasoning.

This tutorial offers a systematic way to think about relational query languages. Rather than beginning from formal definitions, we instead start from a shared workload of representative queries and examine how they are expressed in SQL, classical alternatives, and several recently proposed and earlier languages. From these ex- amples, we derive a common vocabulary of recurring design dimen- sions and patterns for relational languages. Participants will leave with clearer mental models for comparing existing and proposed languages, reasoning about usability for humans and AI systems, and articulating open problems in the design and evaluation of relational query languages.

Feedback

If you notice anything incorrect in the slides, please let me know via email or this anonymous feedback form. Thanks a lot!

Reference

A Tutorial on Relational Language Design
Wolfgang Gatterbauer
Compares SQL with classical and newer relational query languages to show how different language notations and encoding styles shape the way people and machines write, read, and edit queries.

Closely Related Papers

Database Research needs an Abstract Relational Query Language
Wolfgang Gatterbauer, Diandre Sabale
We introduce Abstract Relational Calculus (ARC), a relational reference language that separates a query's relational pattern from its modalities and conventions. We see it as the Rosetta Stone of relational languages, targeted towards both the human and machine audiences.

Related tutorials and project pages

Surveys the key visual metaphors developed for visual representations of relational expressions, including the early history predating the relational model
Surveys the key visual metaphors developed for visual representations of relational expressions.
Proposes a semantic definition of relational query patterns, which allows us to analyze the relative pattern expressiveness of relational query languages. Also proposes "relational diagrams" as diagrammatic representation of tuple relational calculus. Relational diagrams allowed users understand relational patterns faster and more accurately than SQL in an anonymously preregistered user study.