Mengubah kesempurnaan SQL dan TSQL
Sama ada SQL dan varian TSQLnya lengkap dengan Turing sentiasa menjadi kontroversi. Walaupun SQL terutamanya dianggap sebagai bahasa pertanyaan data, sesetengah percaya keupayaan ekspresifnya melangkaui skop terhad ini.
Mengubah kesempurnaan SQL
Dalam satu set slaid, Andrew Gierth dengan meyakinkan menunjukkan bahawa SQL boleh mencapai kesempurnaan Turing walaupun tanpa sambungan skrip seperti PL/SQL atau PSM. Dia menunjukkan ini dengan membina sistem penandaan gelung dalam SQL menggunakan ungkapan jadual biasa (CTE) dan fungsi tetingkap.
CTE membolehkan pengguna mencipta subungkapan bernama rujukan sendiri untuk mencapai penyelesaian masalah rekursif. Ciri ini membuka kemungkinan untuk kerumitan pengiraan yang biasanya tidak dikaitkan dengan SQL.
Kepentingan dan kesan
Perlu diingatkan bahawa kesempurnaan Turing SQL bukan berdasarkan reka bentuk. CTE telah diperkenalkan untuk meningkatkan keupayaan deklaratif bahasa dan bukannya mengubahnya menjadi bahasa pengaturcaraan tujuan umum yang serupa dengan C.
Kesedaran ini menyerlahkan kuasa pengiraan yang mendalam yang mungkin dalam struktur yang kelihatan mudah. Keupayaan rekursif SQL melalui CTE mengeluarkan keupayaan ekspresi serupa dengan sistem lengkap Turing.
Aplikasi Praktikal
Walaupun menulis pengkompil dalam SQL mungkin tidak praktikal, kepentingan teori kesempurnaan Turingnya patut diberi perhatian. Ini menunjukkan bahawa SQL mungkin dapat menyelesaikan masalah pengkomputeran yang lebih luas daripada yang difikirkan sebelumnya. Daripada visualisasi set Mandelbrot kepada simulasi matematik yang kompleks, kemungkinan untuk penyelesaian berasaskan SQL melangkaui pertanyaan dan manipulasi data tradisional.
Atas ialah kandungan terperinci Adakah SQL Turing lengkap, dan apakah maksudnya untuk keupayaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!