- 38
- 0
- 约2.12万字
- 约 48页
- 2016-12-22 发布于浙江
- 举报
黑龙江大学
“数据库系统原理课程设计”总结报告
学院 软件学院 年级 2011级 专业 软件工程 学号 姓名 杜常数 报告日期 2013/12/21 成绩
黑龙江大学计算机科学技术学院
黑龙江大学软件学院
开发环境
硬件环境:Windows XP/Win7操作系统
软件环境:Microsoft Visual Studio 2005
DBMS系统架构
如图2-1所示,通过该类图可以大致看到所有的类的属性、行为以及各个类相互之间的关系。
图2-1 DBMS静态类图
在运行本系统时,会先通过Ganalysis的构造方法对系统进行初始化,包括载入文法和文法的分析表。载入成功后用户输入SQL语句时main函数会调用int Ganalysis::analysis_sql(char sql[])对输入的 语句进行处理,如果文法分析不通过时返回一个正数(错误出现的位置),main函数则会调用void Ganalysis::showError();来显示语法错误。如果语法分析成功,analysis返回OK(-2), Ganalysis会调用相应的模块来具体执行SQL语句。此时不管具体执行结果如何,都会返回OK,在主函数中再调用void Ganalysis::showExecuteResult ();来显示执行的结果。
如下图2-2为该系统语法分析失败时的序列图,图2-3为系统语法分析成功时的序列图:
图2-2语法分析失败序列图
图2-3 语法分析成功时的系统序列图
3、DBMS主要功能模块
本DBMS主要包含6个模块,分别是SQL语言的词法和语法分析功能模块、创建数据库及数据操作功能模块、索引的创建及删除模块、查询功能模块、查询优化模块、数据库保护功能模块。在以下的各小节中将会详细介绍。
3.1 SQL语言的词法和语法分析
(1)功能介绍
该部分利用已有的编译知识,完成SQL语句的词法和语法分析工作,进一步了解DBMS中数据字典的作用,并为后续的查询处理和优化实验打好基础。(1)create table (8)create index
(2)drop table (9)drop index
(3)alter table (10)create view
(4)insert (11)drop view
(5)delete (12)create user
(6)update (13)grant
(7)select (14)revoke…Xmsm的串。其中sm在栈顶,Xi是文法符号,Si是称为状态的符号,每个状态符号概括了栈中位于它的下面的信息。栈顶的状态符号和当前的输入符号用来检索语法分析表,以决定移动规约分析的动作。在实际实现中,文法符号不必出现在栈里。SLR1语法分析的模型如图3.1-1所示:
图3.1-1
(3)算法描述
首先需要对输入的字符串进行词法分析,先通过函数void strChange(string str,vectorstring vecStr); 函数对字符串进行分割,将str中的单词、操作符等分成一个一个的string类型的字符串,并保持在vecStr中。具体的实现算法如下所示:
void strChange(string str,vectorstring vecStr){
for (i=0;istr.length();i++){
if(str[i]== ||str[i]==\t){
i++;
continue;
}
if(str[i]是运算符){//
if(temp非空){
将temp中保存的字符串保存到vecStr中
}
temp=str[i++];
if(第i+1个也是字符操作符?){
如果str[i]与str[i+1]能构成!=,=,=则将temp+=str[i++];
}
vecStr.push_back(temp);
temp清空
}
else {
temp+=str[i++];
如果第i+1个字符串是分割符或操作符,则将temp保存到vecStr中。
}
}//for
if(temp非空){
向vecStr中保存temp
}
}
对字符串进行分割后就可以进行文法分析了。利用函数int analysis::analysis_str(char sql[],string error)对SQL语句进行文法分析。其中函数bool analysis::action_at(int row, std::string vtch, int num);将第row行符号为vtch的值保
您可能关注的文档
- 市城区1:1000数字地形测量技术设计【参考】.doc
- 市光明大街交通问题研究【参考】.doc
- 市千树塔井田一号井开采设计【参考】.docx
- 市书城管理系统系统分析与设计课程设计【参考】.docx
- 市水环境规划课程设计【参考】.docx
- 市政道路施工组织设计【参考】.doc
- 寿王坟铜矿采矿方法设计【参考】.doc
- 书店管理系统数据库课程设计【参考】.doc
- 竖井工程施工组织设计【参考】.doc
- 数据库课程设计——图书管理系统【参考】.docx
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
原创力文档

文档评论(0)