如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
SQLITE特性分析SQLite是用C语言编写的开源嵌入式数据库引擎。它是完全独立的,不具有外部依赖性。SQLite支持多数SQL92标准,可以在所有主要的操作系统上运行,并且支持大多数计算机语言。SQLite还非常健壮。其创建者保守地估计SQLite可以处理每天负担多达100,00次点击率的Web站点,并且SQLite有时候可以处理10倍于上述数字的负载。它支持的SQL包括:ATTACHDATABASEBEGINTRANSACTIONcommentCOMMITTRANSACTIONCOPYCREATEINDEXCREATETABLECREATETRIGGERCREATEVIEWDELETEDETACHDATABASEDROPINDEXDROPTABLEDROPTRIGGERDROPVIEWENDTRANSACTIONEXPLAINexpressionINSERTONCONFLICTclausePRAGMAREPLACEROLLBACKTRANSACTIONSELECTUPDATESQLite内部结构在内部,SQLite由以下几个组件组成:SQL编译器、内核、后端以及附件。SQLite通过利用虚拟机和虚拟数据库引擎(VDBE),使调试、修改和扩展SQLite的内核变得更加方便。所有SQL语句都被编译成易读的、可以在SQLite虚拟机中执行的程序集。SQLite支持大小高达2TB的数据库,每个数据库完全存储在单个磁盘文件中。这些磁盘文件可以在不同字节顺序的计算机之间移动。这些数据以B+树(B+tree)数据结构的形式存储在磁盘上。SQLite根据该文件系统获得其数据库权限。SQLite数据类型SQLite不支持静态数据类型,而是使用列关系。这意味着它的数据类型不具有表列属性,而具有数据本身的属性。当某个值插入数据库时,SQLite将检查它的类型。如果该类型与关联的列不匹配,则SQLite会尝试将该值转换成列类型。如果不能转换,则该值将作为其本身具有的类型存储。SQLite支持NULL、INTEGER、REAL、TEXT和BLOB数据类型。由于资源占用少、性能良好和零管理成本,嵌入式数据库有了它的用武之地,它将为那些以前无法提供用作持久数据的后端的数据库的应用程序提供了高效的性能。现在,没有必要使用文本文件来实现持久存储。SQLite之类的嵌入式数据库的易于使用性可以加快应用程序的开发,并使得小型应用程序能够完全支持复杂的SQL。这一点对于对于小型设备空间的应用程序来说尤其重要。★技术上的优点和特性SQLite是一个轻量级、跨平台的关系型数据库。既然号称关系型数据库,支持SQL92标准大多数标准(比如视图、事务、触发器等)。◇轻量级SQLite和C/S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。使用SQLite一般只需要带上它的一个动态库,就可以使用它的全部功能。而且那个动态库的尺寸也挺小,以版本3.6.11为例,Windows下487KB、Linux下347KB。◇)零配置、无服务器SQLite的另外一个特点是绿色:它的核心引擎本身不依赖第三方的软件,使用它也不需要“安装”。所以在部署的时候能够省去不少麻烦。SQLite在使用前不需要安装设置,不需要进程来启动、停止或配置,不需要管理员去创建新数据库或分配用户权限,在系统崩溃或失电之后自动恢复。大多数SQL数据库引擎是作为一个单独的服务器进程被执行。访问数据库的程序使用某种内部进程通信(典型的是TCP/IP)与服务器通信,完成发送请求到服务器和接收查询结果的工作。SQLite不采用这种工作方式。使用SQLite时,访问数据库的程序直接从磁盘上的数据库文件读写,没有中间的服务器进程◇单一文件、简单的访问所谓的“单一文件”,就是数据库中所有的信息(比如表、视图、触发器、等)都包含在一个文件内。这个文件可以copy到其它目录或其它机器上,也照用不误。一个SQLite数据库是一个单独的普通磁盘文件,能够被定位在路径层次的任何地方。如果SQLite能读写磁盘文件,则它也能访问数据库。大多数SOL数据库引擎趋向于把数据存为一个大的文件集合,通常这些文件在一个标准的定位中,只有数据库引擎本身能访问它◇跨平台/可移植性除了主流操作系统,SQLite还支持了很多冷门的操作系统。比如它对很多嵌入式系统(比如Android、WindowsMobile、Symbin、Palm、VxWorks等)的支持。◇内存数据库(in-memorydatabase)SQLite的API不区分当前操作的数据库是在内存还是在文件(对于存储介质是透明的)。所以如果觉得磁盘I/O有可能成为瓶