网站大量收购独家精品文档,联系QQ:2885784924

深入理解SQLite3系列..doc

  1. 1、本文档共31页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
深入理解SQLite3系列.

?深入理解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?做过分析 ???静态分析 SQ

文档评论(0)

ds2fdsx + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档