A Coq formalisation of SQL's execution engines - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2018

A Coq formalisation of SQL's execution engines

Résumé

In this article, we use the Coq proof assistant to specify and verify the low level layer of SQL's execution engines. To reach our goals, we first design a high-level Coq specification for data-centric operators intended to capture their essence. We, then, provide two Coq implementations of our specification. The first one, the physical algebra, consists in the low level operators found in systems such as Postgresql or Oracle. The second, SQL algebra, is an extended relational algebra that provides a semantics for SQL. Last, we formally relate physical algebra and SQL algebra. By proving that the physical algebra implements SQL algebra, we give high level assurances that physical algebraic and SQL algebra expressions enjoy the same semantics. All this yields the first, to our best knowledge, formalisation and verification of the low level layer of an RDBMS as well as SQL's compilation's physical optimisation: fundamental steps towards mechanising SQL's compilation chain.
Fichier principal
Vignette du fichier
main.pdf (1.08 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

hal-01716048 , version 1 (23-02-2018)

Identifiants

Citer

Véronique Benzaken, Évelyne Contejean, Chantal Keller, Eunice Martins. A Coq formalisation of SQL's execution engines. ITP 2018 - International Conference on Interactive Theorem Proving, Jul 2018, Oxford, United Kingdom. pp.88-107, ⟨10.1007/978-3-319-94821-8_6⟩. ⟨hal-01716048⟩
434 Consultations
807 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More