深入理解SQLite3系列.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
?深入理解SQLite3系列(一)目? 录?????? 偶然一次机会接触SQLite3,十万行左右的代码,小巧简洁,速度快,源码公开可以修改。用到了语法分析,涉及数据的实现和B+的知识,跨平台,线程安全等知识,闲来无事分析一下源码。??? 一来,可以大大增加自己的内力。??? 二来,可以为需要了解和学习SQLite3的人们提供帮助。??? 三来,感觉研究生毕业论文写的水平不高,没有能够锻炼自己系统的研究和分析问题的能力。??? 正好借这个机会系统的分析一下SQLite3,锻炼和增强自己的系统研究和分析问题的能力。??? 再次感谢D. Richard Hipp大师的无私奉献!??? Life is give and forgive.??? May all you pushed is poped.??? 计划从一下几个方面研究??? 1,SQLite3简介??? 2,SQLite3入门??? 3,关系数据基础??? 4,SQLite3的基本架构??? 5,SQLite3设计和概念??? 6,SQLite3 API??? 7,SQLite3 SQL语法??? 8,语法分析和Lemon??? 9,代码生成??? 10,虚拟机和VDBE??? 11,SQLite3的数据组织和B+树??? 12,SQLite3页面管理和缓存??? 13,SQLite3锁机制??? 14,SQLite3的存储模型??? 15,专题讨论???? 今天先列一个目录,后边按照计划一步一步研究。??? 希望通过我的一步一步的研究,您能深刻的理解数据库的设计,帮助您设计您自己的数据库。一、????????SQLite3简介1.???????SQLite介绍自几十年前出现的商业应用程序以来,数据库就成为软件应用程序的主要组成部分。正与数据库管理系统非常关键一样,它们也变得非常庞大,并占用了相当多的系统资源,增加了管理的复杂性。随着软件应用程序逐渐模块模块化,一种新型数据库会比大型复杂的传统数据库管理系统更适应。嵌入式数据库直接在应用程序进程中运行,提供了零配置(zero-configuration)运行模式,并且资源占用非常少。  SQLite是一个开源的嵌入式关系数据库,它在2000年由D. Richard Hipp发布,它的减少应用程序管理数据的开销,SQLite可移植性好,很容易使用,很小,高效而且可靠。SQLite的当前最新版本是SQLite3.6.20。  SQLite嵌入到使用它的应用程序中,它们共用相同的进程空间,而不是单独的一个进程。从外部看,它并不像一个RDBMS,但在进程内部,它却是完整的,自包含的数据库引擎。  嵌入式数据库的一大好处就是在你的程序内部不需要网络配置,也不需要管理。因为客户端和服务器在同一进程空间运行。SQLite?的数据库权限只依赖于文件系统,没有用户帐户的概念。SQLite?有数据库级锁定,没有网络服务器。它需要的内存,其它开销很小,适合用于嵌入式设备。你需要做的仅仅是把它正确的编译到你的程序。2.???????SQLite的特点(SQLite’s Features and Philosophy)??零配置(Zero Configuration)SQlite3不用安装,不用配置,不用启动,关闭或者配置数据库实例。当系统崩溃后不用做任何恢复操作,再下次使用数据库的时候自动恢复。??可移植(Portability)  它是运行在Windows,Linux,BSD,Mac OS X和一些商用Unix系统,比如Sun的Solaris,IBM的AIX,同样,它也可以工作在许多嵌入式操作系统下,比如QNX,VxWorks,Palm OS, Symbin和Windows CE。??紧凑(compactness):  SQLite是被设计成轻量级,自包含的。一个头文件,一个lib库,你就可以使用关系数据库了,不用任何启动任何系统进程。??简单(Simplicity)SQLite有着简单易用的API接口。??可靠(Reliability):SQLite的源码达到100%分支测试覆盖率。SQLite3.6.19总共65.7K C代码,但是测试的代码和脚本有45409.7K,是源代码的690倍。SQLite做过如下方面的测试:??压力测试??100%的分之测试??上百万的测试用例??内存溢出测试??I/O出错测试??系统崩溃和断电测试??模糊测试??边界值测试??回归测试??异常数据库测试??大量的使用assert()和runtime检查??使用Valgringd?做过分析??静态分析SQLite是一个开源的数据库,给人们的印象是没有经过充分的测试,但是事实不是这样的,SQLite3在上边提到的方面都做了详尽的测试。关于SQLite3的更多测试信息

文档评论(0)

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

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

1亿VIP精品文档

相关文档