结 论
通过前面章节对MyDB设计与实现的详细论述,可以看出MyDB一个面向教学用的数据库管理系统。在设计上所坚持的总原则是:简单和移植。即使是采用一些很简单算法依然能够实现很复杂的系统,真正困难的是系统结构的设计(并不是代码的实现)。
由于首次从事DBMS设计与实现方面的工作,再加之对关系模型的理解尚浅,故MyDB的设计和实现还有许多地方有待改进和完善。
MyDB也存在诸多的不足可归纳如下:
1. 命令解析模块
由于数据库系统的命令解析器是一个庞大的体系,涉及到复杂的语法规则及一些代数定律。由于才能及时间的不足,MyDB的命令解析器相当的简单,不完整。如所支持的关键字数量仅仅是CREATE、SELECT、UPDATE、DROP、DELETE、FROM等少数几个,甚至不支持WHERE字句,所以缺陷是很严重的。
2. 数据存储模块
MyDB在数据存储这一块所涉及到的数据结构就是顺序表了,它有较多的缺点,如插入、删除在时间复杂度上较其它数据结构差。但由于顺序表实现较简单,鉴于能力的有限,就选择了顺序表。其实数据库在数据存储这一块可用到的数据结构很多,诸如:索引、B数、堆、散列等等,它们性能比较好,但实现起来较为复杂。
MyDB是成为数据库教学实践的平台,该平台围绕数据库的各个层面提供一个完善的数据库模块实现框架。这些模块分门别类、井然有序地将关系数据库的各种典型特征表达出来。到时候只需要按照教学要求,抽取合适的模块,就可以组装成一个完整的数据库,就像用“应用程序框架”开发应用程序一样简单。如果有必要,用户也可以自己从实现或者修改个别模块。可以想像这样的平台可以较好解决数据库教学的实践问题。