数据库技术之存储过程设计与实现(一)

语法词法解析

这一部分我在之前的博文 使用flex和bison实现的sql引擎解析》中讲过,如何利用flex 和bison 进行词法和语法的解析,我不在多讲,这一部分可以参考一本书flex&bison中文版

这本书详细的介绍了进行词法语法解析的步骤

原创性声明

此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/39251241如果进行转载请注明出处。本文作者原创,邮箱[email protected],如有问题请联系作者

数据结构设计

在进行词法语法解析后我们的目的是获取一颗语法解析树,并不是实际意义上的一颗“树”,在我们的存储过程中是使用的一个List来表示语法树的,因为我们做的存储过程是解释执行的。

我们得用一定的数据结构来表示这颗树

这图的结构可以看出各个节点之间的关系

语法树数据结构(中间代码)

经过我们的词法语法解析过后就会生成如下图所示的数据结构

在生成语法树过后我们就要进行解释执行了,下篇博客进行讲解

此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/39251241如果进行转载请注明出处。本文作者原创,邮箱[email protected],如有问题请联系作者

作者简介

作者是一名软件工程出生的苦逼程序员,本科阶段也是软件工程,目前研究生在读,热爱新技术,热爱编程,为人幽默,热爱开源。

个人网站:http://www.zhujuncoding.com/

github: https://github.com/zhujunxxxxx/

邮箱: zhuj[email protected]

时间: 2024-10-31 18:49:30

数据库技术之存储过程设计与实现(一)的相关文章

数据库技术之存储过程设计与实现(二)

原创性申明 此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/39251353如果进行转载请注明出处.本文作者原创,邮箱[email protected],如有问题请联系作者 存储过程的生成流程图 在上一篇的文章中我们知道了由一个存储过程的语句生成一个语法树,但是这个语法树的保存在数据库系统中,这里给出一个存储过程的存储方案 可以看出存储过程的原来的sql语句是保存在一张表里面的.并且也把存储过程的语法树保存在了内存中,方便执行,

数据库技术之存储过程设计与实现(三)

原创性声明 此博文的出处 为 http://blog.csdn.net/zhujunxxxxx/article/details/39251241如果进行转载请注明出处.本文作者原创,邮箱[email protected],如有问题请联系作者 一个java模拟的存储过程 在前两篇博客中介绍了存储过程的设计方法和数据结构.但是没有一个例子恐怕文章在好也没有很容易理解把 为此博主专门给了一个实例,我用java模拟了一个存储过程来实现,由于java下我没有进行词法语法解析,所以我的语法树就得自己来构造了

《C#语言和数据库技术基础》单词必备

<C#语言和数据库技术基础> 第一章1..NET Framework   框架2.sharp            尖锐3.application      应用程序4.developer        开发者5.network          网络6.build            建造,建筑7.console          控制台8.debug            调试9.namespace        命名空间10.project         项目11.solution 

《架构真经:互联网技术架构的设计原则》

架构真经:互联网技术架构的设计原则 主旨 这本书的英文名是scalability rules,但这里的scalability比狭义的可扩展性含义更广泛,不止是架构上,也涉及到工程.团队等方面的经验总结. 50条可扩展性规则 规则1 避免过度设计 产品的设计超出设计需求.完成的产品对于用户过度复杂.技术实现复杂到令他人难以理解都是过度设计的表现.复杂的系统实施成本高.维护困难,简单的系统容易扩展.可维护性强且成本低. 规则2 方案中包括扩展 在早期考虑到容量扩展的需求,但借助IaaS等服务可以在容

2012年数据库技术大会演讲PPT打包

 2012年数据库技术大会演讲PPT打包 DB2 Overview of Disaster Recovery Options.pdf: http://www.t00y.com/file/76767890 DB2锁问题处理最佳实践.pdf: http://www.t00y.com/file/76767892 GOS-MySQL-development.pdf: http://www.t00y.com/file/76767896 IBM Big Data Platform.pdf: http:/

对数据库技术的发展及SQL数据库的认识

一.数据库管理技术的发展 数据库技术就是研究如何科学的管理数据以便为人们提供可共享的.安全的.可靠的数据的技术.数据库技术包括数据管理和数据处理两部分内容.     人工管理阶段 20世纪50年代中期以前,计算机主要用于科学计算.在这一阶段,计算机除硬件外,没有管理数据的软件,数据处理方式是批处理.数据的组织和管理完全靠程序员手工完成,      此阶段数据的管理效率很低,其特点如下.      1. 数据不保存 此阶段计算机主要用于科学计算,并不对数据进行其他操作,一般不需要将数据长期保存,只

数据定义未来——2016数据库技术大会总结

背景 作为国内数据库与大数据领域最大规模的技术盛宴,2016第七届中国数据库技术大会(DTCC)如约于2016年5月12日-14日再度震撼来袭.大会以"数据定义未来"为主题,云集了国内外顶尖专家,共同探讨MySQL.NoSQL.Oracle.缓存技术.云端数据库.智能数据平台.大数据安全.数据治理.大数据和开源.大数据创业.大数据深度学习等领域的前瞻性热点话题与技术.本届大会共设定2个主会场,25个分会场,并将吸引5000多名IT人士参会,为数据库人群.大数据从业人员.广大互联网人士及

delphi 数据库技术沉浮录--谨给成为历史的BDE

2014年9月,delphi xe7 出来了,这次在数据库技术方面,彻底抛掉了从1995 年 delphi 1.0 就自带的(Borland Database Engine)数据库访问技术.从而宣告了这个持续 了20余年delphi 访问数据库技术进入历史. 纵观delphi 数据库技术的20年发展史,其实也是delphi 的发展史.通过数据库技术的 变化,也可以了解delphi的发展历史及未来的方向. 一. 话说当初 Delphi 1.0 是16 位的编译器,当时的互联网几乎是不存在,拿到的第

面向对象技术的软件设计

面向对象技术(Object-Oriented Technology).面向对象技术强调在软件开发过程中面向客观世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观.自然地描述客观世界中的有关事物.面向对象技术的基本特征主要有抽象性.封装性.继承性和多态性. 对象模型化技术(OMT) 对象模型化技术把分析时收集的信息构造在三类模型中,即对象模型,功能模型和动态模型 对象模型:最关键的模型,描述系统的静态结构,包括构成系统的类和对象,以及他们之间的关系 在对象模型化技术中,类