首页> 中文学位 >通用关系数据库脚本语言的设计与实现
【6h】

通用关系数据库脚本语言的设计与实现

代理获取

目录

声明

摘要

第1章 绪论

1.1 研究背景

1.2 目的和意义

1.3 国内外主要研究现状

1.4 主要研究内容

1.5 论文章节安排

第2章 系统开发理论及软件概述

2.1 编译原理

2.1.1 编译器构成

2.1.2 词法分析

2.1.3 语法分析

2.1.4 SQL语言

2.1.5 正则表达式

2.2 软件介绍

2.2.1 bison

2.2.2 flex

2.2.3 C++Builder

2.2.4 QT

2.2.5 MySQL

第3章 需求分析及总体架构

3.1 总体需求

3.2 功能设计

3.2.1 关键词

3.2.2 数据类型

3.2.3 操作符优先级

3.2.4 常量

3.2.5 变量

3.2.6 语句类型

3.2.7 函数调用(递归、预声明)

3.2.8 数组

3.2.9 结构体

3.2.10 枚举

3.2.11 类型转换

3.3 辅助设计

3.3.1 异常处理

3.3.2 内置函数

3.3.3 Unicode支持

3.3.4 注释

第4章 系统关键模块设计及实现

4.1 脚本解析器

4.1.1 词法分析器

4.1.2 语法分析器

4.1.3 抽象语法树

4.1.4 符号表

4.1.5 递归

4.1.6 作用域

4.2 数据库部分

4.2.1 数据库接口

4.2.2 SQL语句翻译

4.3 性能优化

4.3.1 速度优化

4.3.2 空间优化

4.4 脚本链接器

4.4.1 链接原理

4.4.2 二次编译

4.4.3 动态内存

4.5 脚本加载器

4.6 解析器发布

4.6.1 可执行程序发布

4.6.2 动态链接库发布

4.6.3 静态库发布

4.6.4 源代码发布

第5章 系统测试

5.1 功能测试

5.1.1 词法测试

5.1.2 语法测试

5.1.3 语义测试

5.1.4 数据库测试

5.2 性能测试

5.2.1 基本性能测试

5.2.2 数据库访问速度

5.3 兼容性测试

5.4 综合测试

5.4.1 安装配置MySQL数据库

5.4.2 配置测试数据库

5.4.3 测试脚本算法执行情况

第6章 总结和展望

6.1 总结

6.2 展望

参考文献

致谢

附录

展开▼

摘要

目前,主流的数据库系统有Oracle、SQL Server、DB2、MySQL、Sybase、Interbase等,运行在windows、Unix、Linux、Mac等系统上,这些数据库系统占据关系数据库市场的90%以上。这些主流数据库运行在铁路、银行、通信、电力、商务等行业,其业务种类多,变化频繁。其中大部分业务是以存储过程或者触发器的模式存储在数据库中的,还有一些则直接嵌入在源代码中。如果业务发生变化或者数据库进行更新换代,就需要对业务逻辑进行修改,而且不同的数据库提供的扩展SQL语法不尽相同,修改量大,难度高,而更改嵌入在源代码中的业务则更为麻烦。
  本文通过编写一种通用型的数据库脚本语言,以C语言为蓝本,去掉其中的一部分底层操作的功能,譬如指针、取地址操作、预处理、函数指针、汇编语言支持、头文件包含等,保留最基本的数值运算、逻辑运算、各种语句、函数、结构体、枚举、数组等,并增加数据库操作函数,以及标准SQL语句的翻译功能,为多种数据库SQL函数提供统一的转换,达到所有业务和处理的算法只需要编写一次,就能随时更换升级数据库的功能。
  将源代码编译后的语法树存储为二进制文件,方便再次快速调用,省去编译、优化的时间。二进制文件采取相对偏移地址保存的方法,加载时获取基址加上偏移量即为目标地址,这要求编译时的语法树所使用的内存必须在一个连续地址空间,以便很好的计算偏移量。如何估算目标文件所占用的空间比较困难,折中的办法是编译两次,第一次编译后获取空间大小,第二次再一次性分配空间。本脚本适用于对数据的处理速度要求不是很高的情况,实时数据处理的数据库并不适用,因为脚本运行在数据库外部,速度相较慢。

著录项

  • 作者

    韩俊青;

  • 作者单位

    东北大学;

  • 授予单位 东北大学;
  • 学科 计算机软件与理论
  • 授予学位 硕士
  • 导师姓名 吕振辽;
  • 年度 2014
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类 TP311.13;
  • 关键词

    数据库; 脚本语言; 通用关系; 源代码;

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号