Secondo Immerman , la classe di complessità associata alle query SQL è esattamente la classe delle query sicure in (query del primo ordine più operatore di conteggio): SQL acquisisce query sicure. (In altre parole, tutte le query SQL presentano una complessità in e tutti i problemi in può essere espresso come una query SQL.)
Sulla base di questo risultato, dal punto di vista teorico, ci sono molti problemi interessanti che possono essere risolti in modo efficiente ma non sono esprimibili in SQL. Pertanto un'estensione di SQL che è ancora efficiente sembra interessante. Quindi questa è la mia domanda:
Esiste un'estensione di SQL (implementata e utilizzata nel settore ) che acquisisce (ovvero può esprimere tutte le query calcolabili in tempo polinomiale e nessun altro)?
Voglio un linguaggio di query del database che risolva tutte e tre le condizioni. È semplice definire un prolungamento che estenderebbe SQL e catturerà . Ma la mia domanda è se un tale linguaggio ha senso dal punto di vista pratico, quindi voglio un linguaggio che viene utilizzato nella pratica. Se questo non è il caso e non esiste un linguaggio del genere, allora vorrei sapere se esiste una ragione che rende tale linguaggio poco interessante dal punto di vista pratico? Ad esempio, le domande che sorgono nella pratica di solito sono abbastanza semplici da non rendere necessaria una lingua simile?