How to Make SQL Stand for String Query Language

  • Authors:
  • Gösta Grahne;Emmanuel Waller

  • Affiliations:
  • -;-

  • Venue:
  • DBPL '99 Revised Papers from the 7th International Workshop on Database Programming Languages: Research Issues in Structured and Semistructured Database Programming
  • Year:
  • 1999

Quantified Score

Hi-index 0.00

Visualization

Abstract

A string database is simply a collection of tables, the columns of which contain strings over some given alphabet. We address in this paper the issue of designing a simple, user friendly query language for string databases. We focus on the language FO(•), which is classical first order logic extended with a concatenation operator, and where quantifiers range over the set of all strings. We wish to capture all string queries, i.e., well-typed and computable mappings involving a notion of string genericity. Unfortunately, unrestricted quantification may allow some queries to have infinite output. This leads us to study the "safety" problem for FO(•), that is, how to build syntactic and/or semantic restrictions so as to obtain a language expressing only queries with finite output, hopefully all string queries. We introduce a family of such restrictions and study their expressivness and complexity. We prove that none of these languages express all string queries. We prove that a family of these languages is equivalent to a simple, tractable language that we call SriQueL, standing for String Query Language, which thus emerges a robust and natural language suitable for string querying.