关系型数据库工作原理-SQL解析(翻译自Coding-Geek文章)

本文翻译自Coding-Geek文章:《 How does a relational database work》。原文链接:http://coding-geek.com/how-databases-work/#Buffer-Replacement_strategies

     本本文翻译了如下章节, 介绍数据库的SQL解析器组件:

关系型数据库工作原理-SQL解析(翻译自Coding-Geek文章)

Query parser–SQL解析器

每条SQL语句都会被送到解析器中检查SQL语句的合法性。如果你的SQL写得有问题,解析器将拒绝执行。例如,将”SELECT”写成了”SLECT”。任务到这里就中止了。

本解析器也会做更深层次的语法解析,比如检查SQL关键字出现的顺序是否正确,例如将”WHERE”写在了”SELECT”的前面,也会拒绝执行。

本解析器会检查SQL语句中表和字段的正确性,使用数据库元模型做检查:

1. 判断表是否存在。

2. 判断表中的字段是否存在。

3. 判断字段上执行的运算是否有效(例如,你不能将一个integer类型的字段和一个string类型的字段做比较,也不能对一个integer类型的字段施加substring()的操作)。

本解析器会检查用户是否具有读写表的权限。这些权限由DBA授予。

通过解析器的处理,SQL语句会转换为一种内部存储结构(通常是树形结构),送到SQL重写器。

本文为博主原创文章,未经博主允许不得转载。其它文章请访问:http://blog.csdn.net/ylforever

上一篇:Spring IOC(二)容器初始化


下一篇:CAS 4.0.x 自定义登录页面