SQL是编程语言么? SQL是图灵完备的么?
2022/1/1 19:12:55
本文主要是介绍SQL是编程语言么? SQL是图灵完备的么?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
依稀记得高三参加魔都某985自主招生面试时,一个面试老师问我SQL是什么,我当时首先说SQL是一个高级的编程语言。 当时那个老师说这个说法是有问题的。
其实我之前也比较疑惑,SQL和一般的编程语言比如C,之间的本质区别究竟是什么?
学过了复杂性理论之后,我现在可以比较透彻的理解这个问题了。
一般的编程语言是图灵完备的,意思是说,可以用它来模拟一个图灵机。
比方说,用C语言模拟图灵机的纸带和状态转移函数显然是可行的。 反过来,用图灵机来实现C语言就更直接了。
问题来了,用SQL可以模拟一个图灵机么? 答案是,原始的标准SQL是做不到的。
一个图灵机,或者C语言,可以永远不终止,不宕机,做无休止的重复循环。
标准的SQL是做不到的, 如果使用recursive sql, 占用的空间会不断增大,直到宕机。
但是当下的不同SQL,有了更丰富的扩展功能,比方说PSMs,有了这些新的特性就可以模拟一个图灵机了。
这篇关于SQL是编程语言么? SQL是图灵完备的么?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程
- 2024-11-26Springboot单体架构搭建资料:新手入门教程
- 2024-11-26Springboot单体架构搭建资料详解与实战教程
- 2024-11-26Springboot框架资料:新手入门教程
- 2024-11-26Springboot企业级开发资料入门教程
- 2024-11-26SpringBoot企业级开发资料详解与实战教程
- 2024-11-26Springboot微服务资料:新手入门全攻略