Erstens ist die Ausdruckskraft von SQL weniger eindeutig als es scheint. Die Aggregations-, Gruppierungs- und Rechenfunktionen von SQL haben sehr subtile Auswirkungen. A priori scheint es machbar, dass durch eine Codierung von algebraischen Operatoren, die diese Funktionen verwenden, die Erreichbarkeit in SQL ausgedrückt werden kann. Es stellt sich heraus, dass dies bei SQL-92 , das "lokal" ist, nicht der Fall ist.
Dies bedeutet, dass SQL-92 eine Erweiterung benötigt, um PTIME zu erfassen, und eine Erweiterung, die es der resultierenden Sprache ermöglicht, "nicht lokal" zu sein.
Der Nachweis, dass SQL-92 die Erreichbarkeit nicht ausdrücken kann, wenn geordnete Strukturen und eine realistisch begrenzte Arithmetik zulässig sind, würde jedoch bedeuten, dass einheitlich ist und daher wahrscheinlich recht schwierig ist. (Es könnte argumentiert werden, dass für die Datentypen in SQL-92 immer eine natürliche lineare Reihenfolge besteht und daher angenommen werden kann, dass die zugrunde liegenden Strukturen geordnet sind.)TC0⊊NLOGSPACE
Dann änderte sich die Landschaft erneut, da SQL: 1999 (SQL3) eine Rekursion beinhaltete. SQL: 1999 scheint also mindestens so aussagekräftig zu sein wie die Festkomma-Logik beim Zählen (obwohl ich denke, dass die Details, einschließlich der Frage der Reihenfolge, wieder etwas knifflig sein könnten). Ob die neuen Konstrukte die Logik aussagekräftiger gemacht haben, als es für die Erfassung von PTIME erforderlich ist, weiß ich nicht, und einige Studien wären erforderlich, um dies zu ermitteln. In der Zwischenzeit wurden in den Jahren 2003 , 2006 , 2008 und 2011 weitere Überarbeitungen vorgenommen(Da es sich um ISO-Dokumente handelt, sind nur Entwürfe frei verfügbar.) Diese Überarbeitungen fügten eine ganze Reihe neuer Funktionen hinzu, darunter das Zulassen von XQuery als "Teil" von SQL-Abfragen. Ich vermute, dass "SQL" jetzt aussagekräftiger ist, als es für die Erfassung von PTIME erforderlich ist, aber dass die dazu erforderliche Codierung möglicherweise umfangreiche und ziemlich unnatürliche Abfragen erfordert, die in realen Systemen möglicherweise nicht unterstützt werden.
Es gibt also Anzeichen dafür, dass es keine industrielle Erweiterung von SQL gibt, die PTIME präzise erfasst und Ihre Frage auf unscharfe Weise beantwortet. Kurz gesagt, die industriellen Erweiterungen sind ziemlich leistungsfähig und haben möglicherweise bereits PTIME überschritten. Wenn es stimmt, dass SQL: 1999 bereits leistungsfähig genug ist, um mindestens PTIME zu erfassen, ist auch nicht klar, was "SQL" in Ihrer Frage wirklich bedeutet, da man "SQL" definieren müsste, um eine Version vor SQL zu bezeichnen: 1999.
Schließlich zeigt Grohes Umfrage zur Suche nach Logiken, die PTIME erfassen (ebenfalls von Janoma erwähnt), dass es nicht nur schwierig ist, PTIME zu erfassen, es sei denn, wir haben eine lineare Reihenfolge als Teil der Sprache, sondern auch den Beweis, dass es keine solche Logik geben könnte implizieren .P≠NP