SQL语言到自然语言自动翻译的研究
摘要 | 第5-6页 |
Abstract | 第6页 |
第1章 绪论 | 第10-14页 |
1.1 研究目的和意义 | 第10-11页 |
1.2 研究现状及发展趋势 | 第11-13页 |
1.2.1 相关的研究工作 | 第11-12页 |
1.2.2 存在的问题 | 第12-13页 |
1.3 主要工作 | 第13页 |
1.4 论文结构 | 第13-14页 |
第2章 SQL翻译的准备工作 | 第14-39页 |
2.1 SQL介绍 | 第14-15页 |
2.2 ANTLR | 第15-25页 |
2.2.1 ANTLR的语法词汇 | 第16-18页 |
2.2.2 ANTLR的语法结构 | 第18-20页 |
2.2.3 ANTLR的语法规则 | 第20-23页 |
2.2.4 ANTLR中的动作以及属性 | 第23-24页 |
2.2.5 ANTLR词法规则 | 第24-25页 |
2.2.6 通配符以及非贪婪的子规则 | 第25页 |
2.3 SQL词法解析 | 第25-29页 |
2.3.1 词法解析的原理 | 第26-27页 |
2.3.2 SQL词法解析实现 | 第27-29页 |
2.4 SQL语法解析 | 第29-34页 |
2.4.1 LL(k)文法 | 第30-31页 |
2.4.2 EBNF(扩展的巴科斯范式) | 第31-32页 |
2.4.3 ANTRL语法解析器实现 | 第32页 |
2.4.4 SQL语法解析实现 | 第32-34页 |
2.5 抽象语法树(AST) | 第34-39页 |
2.5.1 语法解析树 | 第34-35页 |
2.5.2 解析树的监听器和访问者 | 第35-37页 |
2.5.3 抽象语法树与具体语法树 | 第37-39页 |
第3章 SQL语句执行顺序 | 第39-44页 |
3.1 不同数据库的SQL执行顺序 | 第39-40页 |
3.2 SQL执行顺序示例详解 | 第40-44页 |
第4章 SQL翻译原理以及实现 | 第44-71页 |
4.1 SQL语句的类型 | 第44-45页 |
4.2 翻译系统的架构 | 第45-46页 |
4.3 翻译过程详解 | 第46-71页 |
4.3.1 SQL表达式 | 第46-50页 |
4.3.2 SQL操作符 | 第50-51页 |
4.3.3 SQL中的条件 | 第51-55页 |
4.3.4 翻译SELECT | 第55-58页 |
4.3.5 翻译FROM | 第58-62页 |
4.3.6 翻译WHERE | 第62-66页 |
4.3.7 翻译GROUP BY | 第66页 |
4.3.8 翻译HAVING | 第66-67页 |
4.3.9 翻译Distinct | 第67页 |
4.3.10 翻译Top | 第67-68页 |
4.3.11 翻译ORDER BY | 第68页 |
4.3.12 SQL翻译例子 | 第68-71页 |
第5章 SQL翻译的实验结果以及分析 | 第71-78页 |
5.1 实验环境 | 第71-72页 |
5.2 实验结果及分析 | 第72-78页 |
第6章 SQL翻译的应用 | 第78-82页 |
6.1 数据库安全-SQL注入 | 第78-79页 |
6.1.1 不正确的过滤转义字符 | 第79页 |
6.1.2 不正确的类型处理 | 第79页 |
6.2 数据库防火墙以及安全审计系统 | 第79-80页 |
6.3 系统实现 | 第80-82页 |
结论 | 第82-83页 |
参考文献 | 第83-85页 |
附录 | 第85-88页 |
攻读学位期间发表论文与研究成果清单 | 第88-89页 |
致谢 | 第89页 |