1 / 14
文档名称:

嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计.doc

格式:doc   大小:40KB   页数:14页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计.doc

上传人:xiang1982071 2018/1/22 文件大小:40 KB

下载得到文件列表

嵌入式系统课程设计-基于嵌入式Linux系统的嵌入式数据库应用设计.doc

相关文档

文档介绍

文档介绍:*******************
实践教学
*******************
兰州理工大学
计算机与通信学院
2014年秋季学期
嵌入式系统课程设计
题目:基于嵌入式Linux系统的嵌入式数据库应用设计
专业班级:12级物联网(01)班
姓名:
学号:
指导教师:
成绩:
摘要
随着移动计算时代的到来,嵌入式操作系统对移动数据库系统的需求为数据库技术开辟了新的发展空间。嵌入式数据库技术目前已经从研究领域逐步走向了广泛的应用领域。随着移动终端的普及,人们对移动数据的实时处理和管理要求不断提高,嵌入式数据库也越来越显示出其优越性。
本课程设计利用实验室提供的ARM6410试验箱进行相应的设计,主要包括了解Linux环境下搭建嵌入式数据sqlite的基本方法,理解Linux下sqlite的基本使用方法,API接口函数,sqlite语法,掌握C语言编程的实现。

关键词:嵌入式、数据库、sqlite、API接口函数、C语言
前言
数据库的目标是实现对数据的存储、检索等功能。传统的数据库产品除提供了基本的查询、添加、删除等功能外,也提供了很多高级特性,如触发器、存储过程、数据备份恢复等。但实际上用到这些高级功能的时候并不多,应用中频繁用到的还是数据库的基本功能。于是,在一些特殊的应用场合,传统的数据库就显得过于臃肿了。在这种情况下,嵌入式数据库开始崭露头角。
嵌入式数据库是一种具备了基本数据库特性的数据文件,它与传统数据库的区别是:嵌入式数据库采用程序方式直接驱动,而传统数据库则采用引擎响应方式驱动。嵌入式数据库的体积通常都很小,这使得嵌入式数据库常常应用在移动设备上。由于性能卓越,所以在高性能的应用上也经常见到嵌入式数据库的身影。
SQLite是一种采用C语言开发的嵌入式数据库。SQLite的目标是尽量简单,因此它抛弃了传统企业级数据库的种种复杂特性,只实现那些对于数据库而言非常必要的功能。尽管简单性是SQLite追求的首要目标,但是其功能和性能都非常出色。
基本原理
SQLite具有的特点
1. ACID事务
2. 零配置–无需安装和管理配置
3. 储存在单一磁盘文件中的一个完整的数据库
4. 数据库文件可以在不同字节顺序的机器间自由的共享
5. 支持数据库大小至2TB
6. 足够小, 大致3万行C代码, 250K
7. 比一些流行的数据库在大部分普通数据库操作要快
8. 简单, 轻松的API
9. 包含TCL绑定, 同时通过Wrapper支持其他语言的绑定
10. 良好注释的源代码, 并且有着90%以上的测试覆盖率
11. 独立: 没有额外依赖
12. Source完全的Open, 你可以用于任何用途, 包括出售它
13. 支持多种开发语言,C, PHP, Perl, Java, ,Python
由于SQLite具有功能强大、接口简单、速度快、占用空间小这样一些特殊的优点,因此特别适合于应用在嵌入式环境中。SQLite在手机、PDA、机顶盒等设备上已获得了广泛应用。
SQLite的SQL语法
SQLite库可以解析大部分标准SQL语言。但它也省去了一些特性并且加入了一些自己的新特性。
SQLite执行如下的语法
• ALTER TABLE
• ANALYZE
• ATTACH DATABASE
• BEGIN TRANSACTION
• 注释
• COMMIT TRANSACTION
• COPY
• CREATE INDEX
• CREATE TABLE
• CREATE TRIGGER
• CREATE VIEW
• DELETE
• DETACH DATABASE
• DROP INDEX
• DROP TABLE
• DROP TRIGGER
• DROP VIEW
• END TRANSACTION
• EXPLAIN
• 表达式
• INSERT
• ON CONFLICT子句
• PRAGMA
• REINDEX
• REPLACE
• ROLLBACK TRANSACTION
• SELECT
• UPDATE
• VACUUM
以上只是对SQLite实现的SQL语法的综述,有所忽略。
SQLite C/C++接口
由于早期的SQLite只支持5个C/C++接口,因而非常容易学****和使用,但是随着SQLite功能的增强,新的C/C++接口不断的增加进来,到现在有超过150个不同的API接口。这往往使初学者望而却步。幸运的是,大多数SQLite中的C/C++接口是专用的,因而很少被使用到。尽管有这么多的调用接口