数据库设计总结报告x - google code

数据库设计总结报告x - google code

ID:10101498

大小:67.15 KB

页数:8页

时间:2018-05-25

数据库设计总结报告x - google code_第1页
数据库设计总结报告x - google code_第2页
数据库设计总结报告x - google code_第3页
数据库设计总结报告x - google code_第4页
数据库设计总结报告x - google code_第5页
资源描述:

《数据库设计总结报告x - google code》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据库大实验总结报告计52彭皓2005011265计52王秋平2005011267计52沈一峰2005011269计52郭晓林2005012222实验内容1.阅读一个基本的页式I/O系统,并作分析2.在上面I/O系统的基础上,将其扩展为或重新实现一个完善的数据存储系统,包括缓存管理和I/O处理,具体要求如下:1)createtable:要求能够处理NULL和整数、字符串类型2)insert,delete,update,select:其中select最多要求有2个表的连接操作。3)where子句的条件包括空值判断、整数和字符串比较4)语法格式参考SQLServer2000的T-S

2、QL的语法格式,可以按最简单的形式实现5)droptable:删除表。网络学堂上有标准的测试样本6)要支持批量数据导入数据库表,源数据为文本文件实验分工彭皓:SQL语法解析器,对SQL语句进行分词处理。沈一峰:SQL语法检查,进行判错处理;程序总接口连接。王秋平:系统表的设计及维护,SQL语句条件判断及结果输出郭晓林:底层I/O扩展,数据的插入、删除及更新实验设计数据库的整体设计模块图如下所示:模块之间的关系流程图如下所示:下面简单分析一下每个模块的设计方法:SQL语句解析模块设计代码文件:功能及使用:接口:设计:错误判断分析模块设计代码文件:SQLCheckError.h,S

3、QLCheckError.cpp功能及使用:对于一个SQL查询结构体,判断其中的每个域的信息是否合法(如create语句中的表名是否已经存在,select语句中选择的列名是否存在等);同时将缺省的字段填充完整(如selectafromAwhereA.b=c,则需要将select域中的列信息a添加其所在的表名A)。设计:SQL查询结构体定义如下:structQueryInfo{inttype;//-1表示错误,-6表示各种语句类型std::stringerr;//错误信息std::vectortable_name;//表名intlogic_type;//

4、1表示AND2表示OR0表示没有std::vectorcol_name;//选择的列,select语句此字段size为时表示"select*"std::vectorconditions;};structConditionInfo{intscope;//1表示在where语句中,表示在set语句中std::stringtable1_name;std::stringcol1_name;std::stringtable_col_name1;std::stringvalue;std::stringtable2_name;std::stri

5、ngcol2_name;//为空表示t_Score.总成绩<'60',非空表示t_Score.课程号=t_Course.课程号std::stringtable_col_name2;intop;//操作符ISNULL,LIKE};structColInfo{std::stringtable_name;std::stringcol_name;intdata_type;//1数字2定长3变长std::stringvalue;intdata_len;//数据长度,如变长,则为最大长度boolnullable;//可以为true};错误检测类SQLCheckError定义如下:class

6、SQLCheckError{private:QueryInforesult;private:QueryInfoCheckCreate();QueryInfoCheckDelete();QueryInfoCheckDrop();QueryInfoCheckInsert();QueryInfoCheckSelect();QueryInfoCheckUpdate();boolIsAlreadyIn(string);intCheckColNameOverlap();//判断列名是否重复boolIsNumber(string);//判断是否是int数字voidConnectTableCo

7、lName();//把result中的table_col_name1,table_col_name2填满voidExchangeColName();//把select语句中的表按顺序排public:SQLCheckError(QueryInfo);//构造函数~SQLCheckError(void);QueryInfoCheckError();//检查错误voidshowResult();QueryInfoGetQuery(){returnresult;}};检测函数简介:函数名称功能及检错

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。