Según Immerman , la clase de complejidad asociada con las consultas SQL es exactamente la clase de consultas seguras en (consultas de primer orden más operador de conteo): SQL captura consultas seguras. (En otras palabras, todas las consultas SQL tienen una complejidad en , y todos los problemas en se puede expresar como una consulta SQL.)
En base a este resultado, desde el punto de vista teórico, existen muchos problemas interesantes que pueden resolverse eficientemente pero que no se pueden expresar en SQL. Por lo tanto, una extensión de SQL que sigue siendo eficiente parece interesante. Ésta es mi pregunta:
¿Existe una extensión de SQL (implementado y utilizado en la industria ) que captura (es decir, puede expresar todas las consultas computables en tiempo polinómico y ninguna otra)?
Quiero un lenguaje de consulta de base de datos que cumpla con las tres condiciones. Es fácil definir una extensión que se extendería SQL y capturará . Pero mi pregunta es si ese lenguaje tiene sentido desde la perspectiva práctica, por lo que quiero un lenguaje que se utilice en la práctica. Si este no es el caso y no existe dicho lenguaje, entonces me gustaría saber si hay una razón que hace que dicho lenguaje no sea interesante desde el punto de vista práctico. Por ejemplo, ¿las consultas que surgen en la práctica suelen ser lo suficientemente simples como para que no haya necesidad de tal lenguaje?