课程设计——DBMS系统
时间:2010-07-05 来源:古兮之
刚期末考试结束,接着又是课程设计,真累!写了一个DBMS系统,用纯C写的,花了10天的时间,一般的SQL语句都支持,只是里面bug太多,实在无力再去检错了。唉,一次失败的软件课程设计。给上开发代码和技术文档,供大家探讨吧。
说明:
1、在dbdesign文件下有个doc文件,保存了整个系统的设计文档,非常简陋,具体文档我现在没有,在同学那。里面有两张图,一是系统架构图,另外一张是磁盘文件管理图
2、dbms.c是整个系统启动文件,代码非常简短,主要包括两个功能:一、编译器 二、系统初始化。
3、已经是第二次思考写编译器了,在dbcompiler文件里存放的是sql编译代码,请先看下doc文件,那个编译器文档。编译器采用的是LL(1) 文法。不过由于时间有限,整个系统的代码我没有去优化和整理
4、datacvt文件是数据格式化层,接受编译器传递下来的中间形式
5、visual是磁盘文件虚拟化层。模拟了操作系统的内存段页式管理,不过代码写的不好
6、file_io是磁盘文件管理层。
7、data文件夹下有两个文件,一个文件是dbms.dat存放所有表的数据记录;另一个文件是dbms.dbf存放所有表的结构等信息,可以参看磁盘文件管理图。
测试用例:
运行:./dbms
创建表:create table a(b char(8) key)
插入数据:insert into a(b) values('abd')
查看数据:select * from a 或者select b from a ...(带嵌套的查询代码写是写了,不过存在bug,自己已经无力在检查这一千多行代码了)
更新数据:update a set b='kingrl' where a.b='abd'
删除一行记录:delete from a where a.b='kingrl'
增加一列属性:alter table a(add c char(8) key)
删除一列属性:alter table a(delete b)
删除表:drop table a
...具体规可以参考dbcompiler 文件下的doc文件,里面有语法规则。
开发环境:linux vim
自认为程序写的超级垃圾,请原谅本人第一次用C写小型程序。
马上就毕业了,如果保研保不上看看来也只有奔向社会了,大学生活就结束了,依然感觉自己学的太少,没有真正入计算机行业。如果上天再给我上大学的机会,我会挽回三件事:参加ACM、不去上课、写够10万行程序
哥累了,看动画片去了...
说明:
1、在dbdesign文件下有个doc文件,保存了整个系统的设计文档,非常简陋,具体文档我现在没有,在同学那。里面有两张图,一是系统架构图,另外一张是磁盘文件管理图
2、dbms.c是整个系统启动文件,代码非常简短,主要包括两个功能:一、编译器 二、系统初始化。
3、已经是第二次思考写编译器了,在dbcompiler文件里存放的是sql编译代码,请先看下doc文件,那个编译器文档。编译器采用的是LL(1) 文法。不过由于时间有限,整个系统的代码我没有去优化和整理
4、datacvt文件是数据格式化层,接受编译器传递下来的中间形式
5、visual是磁盘文件虚拟化层。模拟了操作系统的内存段页式管理,不过代码写的不好
6、file_io是磁盘文件管理层。
7、data文件夹下有两个文件,一个文件是dbms.dat存放所有表的数据记录;另一个文件是dbms.dbf存放所有表的结构等信息,可以参看磁盘文件管理图。
测试用例:
运行:./dbms
创建表:create table a(b char(8) key)
插入数据:insert into a(b) values('abd')
查看数据:select * from a 或者select b from a ...(带嵌套的查询代码写是写了,不过存在bug,自己已经无力在检查这一千多行代码了)
更新数据:update a set b='kingrl' where a.b='abd'
删除一行记录:delete from a where a.b='kingrl'
增加一列属性:alter table a(add c char(8) key)
删除一列属性:alter table a(delete b)
删除表:drop table a
...具体规可以参考dbcompiler 文件下的doc文件,里面有语法规则。
开发环境:linux vim
自认为程序写的超级垃圾,请原谅本人第一次用C写小型程序。
马上就毕业了,如果保研保不上看看来也只有奔向社会了,大学生活就结束了,依然感觉自己学的太少,没有真正入计算机行业。如果上天再给我上大学的机会,我会挽回三件事:参加ACM、不去上课、写够10万行程序
哥累了,看动画片去了...
|
相关阅读 更多 +