预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共23页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

嵌入式开发教程基于ARM-Linux的SQLite嵌入式数据库技术随着嵌入式系统的广泛应用和用户对数据处理和管理需求的不断提高,各种智能设备和数据库技术的紧密结合已经得到了各方面的重视。不久的将来嵌入式数据库将无处不在。纵观目前国际、国内嵌入式数据库的应用情况,目前基于嵌入式数据库应用的市场已经进入加速发展的阶段。基于Linux平台的数据库非常多,大型的商用数据库有Oracle、Sybase、Informix、Informix、IBMDB2等;中小型的更是不胜枚举,以下是常见的几种。PostgreSQL是世界上最优秀的开放源码的数据库之一,是完全免费的数据库,不需要任何版权费用和购买费。因此,它是许多Linux发行版本的首选,例如:Redhat、TurboLinux都预装了PostgreSQL。PostgreSQL兼容性很强,如果是SQL92兼容的,移植PostgreSQL非常简单和快捷。MySQL是多用户、多进程的SQLdatabaseserver。MySQL包括一个serverdaemon(mysqld)和clientprograms与libraries的client/server实现工具;比较适合小而简单的数据库,对复杂的操作要求支持不是很好。MySQL的licensingpolicy:如果你是普通的最终用户,使用MySQL不需要付钱;但如果是直接或间接地出售MySQL的服务程序或相关产品,或是在一些客户端维护MySQLserver并收取费用,或是在发行版中包括MySQL,就需要获得许可。 *本课题是2003年河南省杰出人才创新基金项目(0321000300),获得了河南省科技厅的资金支持。mSQL是一个单用户数据库管理系统。由于它的短小精悍,使其开发的应用系统特别受到互联网用户青睐。mSQL并非是完全的freeware,若是在大学中使用此一软件,或是为了学术研究与慈善等非营利性目的,才能免费得到使用权(freelicense),否则就得付费注册才能得到正式的版权。BerkeleyDB是一个开放源代码的嵌入式数据库管理系统,能够为应用程序提供高性能的数据管理服务。应用它,程序员只需要调用一些简单的API就可以完成对数据的访问和管理。与常用的数据库管理系统(如MySQL和Oracle等)有所不同,在BerkeleyDB中并没有数据库服务器的概念。应用程序不需要事先同数据库服务建立起网络连接,而是通过内嵌在程序中的BerkeleyDB函数库来完成对数据的保存、查询、修改和删除等操作。SQLite支持绝大多数标准的SQL92语句,采用单文件存放数据库,速度又比MySQL快上1~2倍(官方的数据),存储量也不是问题。在操作语句上更类似关系型数据库的产品使用,非常方便。SQLite的版权允许无任何限制的应用,包括商业性的产品。在PHP5中已经集成了这个轻巧的嵌入式数据库产品。在众多的数据库中,如何选择适用于嵌入式系统的数据库呢?嵌入式系统开发环境决定了其对数据库需求的特点。 (1)适当的体积 嵌入式系统对于数据的存储与程序的运行一般都有较强的空间限制,所以适用于嵌入式系统使用的数据库首先应该有一个适当的体积。 (2)较强的功能 嵌入式开发中有很多应用,用户需求决定了开发中需要有一个大小适中且功能齐备的数据库来实现对数据的管理。对开发人员来说,要求采用的数据库技术提供完备开发的文档而且易于开发。 (3)开源的代码 作为产品的开发,开源的代码不仅可以减少产品的生产成本,更重要的是为产品的维护完善和稳定运行都提供了最为彻底的解决手段。上面介绍的数据库技术中,Oracle、Sybase、Informix、IBMDB2等功能强大,系统体积庞大,要求付费使用,仅适用于作为大型商业数据库。MySQL在保持中等体积的情况下,提供了较为适用的功能已经成为中小规模数据库应用的首选,但商业应用也要收费,而且对于嵌入式开发来说空间占用仍然太大,目前还不适用。 mSQL是一种简化的SQL数据库,短小精悍,开发方便,适用于嵌入式开发;但mSQL只有30天的使用期限,并非完全的开源。 余下的开放源码数据库中,PostgreSQL是Linux下最完善的开源SQL数据库,但体积也较大。BerkeleyDB作为完全开源的嵌入式数据库速度极快,可靠性高;但学习起来有一定难度,必然会加大开发成本。 SQLite则简单易用,速度也很快,同时提供了丰富的数据库接口,功能虽较BerkeleyDB略有逊色,但在开源社区的推动下差距正在缩小。它的设计思想是小型、快速和最小化的管理。这对于需要一个数据库用于存储数据,但又不想花太多时间来调整数据性能的开发人员很适用。实际上在很多情况下,并不需要存储程序或复杂的表之间的关联。这时会发现SQLite在大小和功能之间找到了一个理想的平衡点