这几天一直在思考这方面的问题,查阅了大量的资料,主要是设计模式方面的资料,基本上把大体构架去定下来。还有数据库的名字,暂时取名为XhinSQL(xhinker's SQL 读音:新SQL).
数据库总体上分为三层:
最底层位数据存储层,提供从表到文件的转化,以及对表进行操作的各种方法接口。实现数据层的独立,这样做主要是为了减少和sql引擎层关联度。
中间是sql引擎层,这一层主要进行对sql语句的词法分析和语法分析,然后对sql语句进行解释(interpret)。如果实现了这一层的全部功能的话,就可以在控制台下对这个数据库进行简单的操作了。
接下来是JDBC驱动层,我不想把自己的数据库做成一个小玩具,那将没有任何意义(还想再毕业设计的时候使用自己的XhinSQL).这一层的主要任务是编写jdbc到sql引擎的驱动。这项工作会很有挑战性,但同时也感到了一丝兴奋。希望能够如愿。
对底层数据文件的格式做过很多考虑,主要是在考虑到底是采用XML还是普通的二进制文件的问题上,如果采用后者的话主要将采用CSV(Comma Separate Values)格式的文件。目前的想法是文件和XML并用,如果能够成功的话,将扩大XhinSQL的使用范围。
书籍推荐:《java与模式》 没看过GOF(四人帮)的《设计模式》但听过《java与模式》的名声。今天看了一部分,感觉非常好,讲解得非常透彻,看了很多设计模式的书,都没怎么弄懂怎么回事,但这本书不同,看了有种豁然开朗的感觉。
本文转自 xhinkerx 51CTO博客,原文链接:http://blog.51cto.com/xhinker/132586,如需转载请自行联系原作者