SQLite数据库在嵌入式系统中的应用研究
2015-09-21梁永恩万世明翟敏换广东白云学院电气与信息工程学院广州510450
梁永恩,万世明,翟敏换(广东白云学院电气与信息工程学院,广州 510450)
SQLite数据库在嵌入式系统中的应用研究
梁永恩,万世明,翟敏换
(广东白云学院电气与信息工程学院,广州 510450)
0 引言
随着用户对数据处理和管理需求的不断提高,越来越多的用户希望能对嵌入式产品中的数据进行更有效的管理。在嵌入式系统中大多采用文件或数据库的方式对数据处理。传统的小型嵌入式系统主要采用文件方式进行数据处理,它主要存在以下缺点[1]:数据共享性差;可移植行差,不同系统之间难以重用;数据管理能力差,查询和统计不便。而数据库弥补了文件的缺点,它具有以下优点:数据结构化;数据的共享性高,冗余度低,易扩充;数据独立性高;具有安全性保护、完整性检查、并发访问控制、故障恢复等数据控制功能。嵌入式数据库系统种类繁多,常用的嵌入式数据有:Advantage Database Server,Berkeley DB,Empress Embedded Database,eXtremeDB,InfinityDB,solidDB,SQL-ite,SQL Server Compact[2]。SQLite[3~4]数据库以开源、跨平台、体积小、安全性好、功能强大等优点在嵌入式系统领域获得了广泛的应用。
1 SQLite简介及其移植
1.1SQlite简介
SQLite是一个轻量级的关系数据库管理系统,它包含一个C编程库,提供了简单易用的API访问数据库。采用模块化设计,主要包含四个模块:核心(Core)、SQL编译器(SQL Compiler)、后端(Backend)和附件(Accessories),其体系结构如图1所示。其中,接口(Interface)以SQLite3作为前缀,提供对数据库访问操作的API;分词器(Tokenizer)的作用是把原始的字符串分割成标记,然后一个一个的传给语法分析器;语法分析器(Parser)通过分词器产生的标记分析语句的结构,并且得到一棵语法树;……
