问题:鉴于SQL表面上的图灵完备性,理论上是否可以使用SQL构建编译器?
答案:是的,即使没有PL/SQL或PSM等外部扩展,SQL也确实是图灵完备的。
证明:Andrew Gierth在一个演示中证明了SQL在没有脚本扩展的情况下也是图灵完备的。通过实现循环标记系统(一个已证明的图灵完备模型),他证明了SQL能够递归地解决问题。在此背景下,关键特性是CTE(公共表表达式),它允许自我引用的子表达式。
意义:
SQL图灵完备性的发现突显了这种主要声明式查询语言的扩展能力。正如C 的模板出乎意料地成为图灵完备一样,SQL的CTE特性也使其成为一种更通用的语言。
示例:
一个值得注意的例子是用SQL创建曼德勃罗集合,展示了该语言在计算密集型应用中的潜力。
以上是没有扩展的 SQL 能否实现图灵完备?的详细内容。更多信息请关注PHP中文网其他相关文章!