畅想数据库管理系统介绍.docVIP

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
畅想数据库管理系统介绍

CXDB介绍高屹2011-08-13畅想数据库管理系统(以下简称“系统”或“CXDB”)是一个小型内嵌式数据库管理系统。本文档的目的:让您能够用5分钟的时间对系统有一个概要的了解,再用15分钟时间简单体验系统功能。CXDB的特性内嵌式的数据库CXDB的整个系统实现在一个DLL文件中,以API函数的形式提供编程接口。开发者在程序中调用这些接口函数,就可以完成全部的数据库操作,数据库操作就在您的程序中,是您程序不可分割的一部分。这个DLL文件很小,只有几百K。加密的数据库十多年前开发MIS系统时,用户经常要求数据在数据库内部是加密存储的,都被我严词拒绝,做不到。后来倒是再没人提这种要求,一方面是人家也知道做不到,另一方面人家对系统安全性也有了综合的认识,不再一味强调加密。但那时的印象挺深刻,所以当真的要实现自己的数据库时,第一个想法就是:数据在数据库内部要加密存储。这不一定是好事,因为加密造成性能的下降很明显,参《CXDB编程参考》中“性能测试”一章。开发者的数据库作为一种后台支持,任何数据库都是“开发者”的。最终用户一般不直接接触数据库,所以我一直不太明白哪儿来那么多数据库方面的专家。但一般的数据库都需要比较复杂的管理工作,比如我经常会帮别人重装数据库或恢复数据,所以,一般的数据库还是“管理者”的。使用CXDB没有管理工作,不需要安装,CXDB的所有数据被保存在一个操作系统文件中,开发者指定文件路径就行了。另外,会随CXDB附赠一个用户界面非常友好的图形化管理工具——CXDBManager。该工具朴实而细腻,完全可以作为“开发期工具”使用。学习型数据库系统的作者长期从事数据库和数据结构教学,非常希望CXDB能够用于数据库学习。CXDB的SQL命令语法完全模仿Oracle(做了一定的简化),执行效果也与Oracle几乎完全相同。因此,在学习数据库的初始阶段使用本系统进行实践未尝不是一个好的选择。CXDBManager是绿色软件,免安装,用它来做演示和实验都很方便。中小型的数据库对于数据库来说,“大型”和“小型”不是一个严格的概念。虽然经常有人这么说,但没有人来做准确定义。但是,“大型”和“小型”又不仅仅是一个相对的概念,其差别不在于它们各自能存储多少T的数据,“大型”需要复杂的体系结构支撑。设计特性决定了CXDB不会成为一个大型的数据库。尽管CXDB在外部特性上模仿Oracle,但内部机制差别巨大。将CXDB设计为一个小型数据库,是我略有自知之明的表现。但在CXDB的设计之中加入了很多高级特性,且为将来的扩充预留了空间,因此,如果正常发展下去,CXDB会成为一个“中型”数据库。CXDB的未来现在的系统远不是CXDB的最终目标。其实CXDB没有最终目标。虽然隐约地想过一些事,想想而已,没太想明白,更不想说出来变成对自己的约束。但有些事是清楚的,是我最初设计时的打算,一定要做到。为了节省时间,您可以跳过本章,先看后面的内容,反正还没实现呢。实用的数据库我从来都是做实用的系统,有没有人用另说,至少得让人家能用。不能把CXDB做成一个演示系统,不能让选择CXDB的人后悔。系统目前已经做了初步的性能测试,特别是针对大数据量和多线程进行了测试,可以说目前已初步可用。事实上,系统已经在几个实际项目中得到了应用。提供十进制的精度有些小型数据库对数值数据仅提供整数、实数等类型支持。CXDB既然模仿了Oracle的Number类型,就得提供十进制的数据精度,保证能够存储商业数据。自主的内存管理现在CXDB仍然调用malloc来进行内存分配。由于数据库处理的数据类型与一般编程语言(如C语言)所能表达的数据类型差距甚大,所以CXDB在运行的过程中经常需要动态地申请内存。malloc既不安全又费时,这一直是我的心病。将来CXDB一定要自主地管理内存,关键是我“想”实现这一部分功能。数据库服务器CXDB在设计上仅支持线程间的共享,不允许多个进程同时打开相同的数据库文件。这看似限制,其实是为将来实现为一个数据库服务器做准备。ODBC接口实现实用的ODBC接口,可对本地或远程的CXDB进行访问。既能提高编程的方便性,又能扩大CXDB的适用范围,还省得为各类编程工具设计控件。跨平台系统用C语言实现,具备了跨平台的可能性。目前在Windows上实现,将来至少要移植到Linux上。其它的增强LOB字段的处理能力,触发器,PL/SQL等。数据库的开发是如此好玩儿,能想到的我都想做,但上述内容是必做的。系统初体验现在就可以使用CXDBManager来体验CXDB了。CXDBManager的可执行文件在Bin子目录下。一般操作CXDBManager的主界面如图:使用它可以对多个数据库(文件)进行管理。界面左侧的树型视图(TreeView)中列出了当前管理的所有数据库(一级结

文档评论(0)

erterye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档