本书阐述了嵌入式数据库的原理,设计方法和应用案例。本书首先介绍了嵌入式数据库的理论基础知识和关键技术,介绍了主流嵌入式数据库;在此基础上,对SQLite数据库做了详细的分析和介绍,并对在不同环境如linux、andriod、QT和边缘计算等场景下的应用做了阐述,最后介绍了4个经典的嵌入式数据库应用项目案例。
(1)理论联系实际,原理阐述与四个中型项目实例有机结合。
(2)内容涵盖嵌入式数据库系统结构、关键技术和安全机制|SQLite | Qt|嵌入式移动数据库|应用实例。
(3)书中实例不仅从理论上深化拓展嵌入式数据库的开发方法和理念,也从实践角度提出“碰到问题如何运用所学知识解决问题”的观点,促进学生学以致用思想的升华。
(4)配套34个260分钟微课视频、工程文件及源代码、教学课件、习题答案、教学大纲等。
随着嵌入式系统的发展及嵌入式实时操作系统的不断普及,嵌入式数据库系统已经广泛应用在各种网络设备、移动通信设备、掌上电脑、移动电话、便携式媒体播放机、数据采集与控制设备、数字家庭智能家电产品、医疗智能设备等。随着嵌入式的应用正在向分散化、小型化的方向延伸,越来越多的嵌入式设备需要小型的嵌入式数据库系统来组织、存储和管理本地数据。在技术和市场的双重作用下,优秀的嵌入式数据库管理系统软件无疑是推动全社会信息化的关键动力,它的研究与开发必将对国民经济的发展可以起到有效的推动作用,并能带动国内软件产业的发展。
从国外嵌入式课程建设来看,ACM(美国计算机协会)和IEEE已经将“嵌入式系统”体系课程作为本科生的专业基础课,而“嵌入式数据库”也是其中的一个重要组成部分。同时,美国卡内基梅隆大学、加州大学伯克利分校等国外高校也在不断完善包括嵌入式数据库的嵌入式教育体系,欧洲联盟(简称欧盟)也推出了面向欧盟高校和企业的嵌入式研究计划,这些信息为编写“嵌入式数据库”教材提供了指导和参考。
本书特色
(1)在参考ACM和IEEE联合制订的新版计算机学科的课程体系要求结合国内高校计算机学科课程大纲要求进行编写,参考资料具有良好的时效性和实用性。
(2)理论联系实际,本书既有理论知识深入浅出的详细阐述,也有丰富的实例和源码分析。
(3)本书对于新兴技术(如物联网、边缘计算等)领域与嵌入式数据库的结合有较好的阐述。
(4)从编写小组自身从事的科研项目和实践活动出发,选择具有一定实用价值(包含交叉学科知识、反映嵌入式数据库技术应用)的4个中型项目实例进行讲述。这些实例不仅从理论上深化拓展嵌入式数据库的开发方法和理念,也从实践角度提出“碰到问题如何运用所学知识解决问题”的观点,促进学生学以致用思想的升华。
配套资源
工程文件及源代码、教学课件、习题答案、教学大纲等资源,扫描下方二维码或到清华大学出版社网站本书页面下载。
微课视频(34个,共260分钟),扫描本书各章节中对应位置的二维码观看。
配套资源
本书内容
本书共8章。第1章介绍嵌入式数据库的基本概念、特点、分类、应用场景和发展趋势。第2章介绍嵌入式数据库的系统结构,对嵌入式实时数据库和嵌入式移动数据库做了详细阐述,并介绍了3种典型的主流嵌入式数据库产品。第3章介绍嵌入式数据库的关键技术,包括存储管理、访问算法、实时事务处理、并发控制、恢复与备份、XML等。第4章介绍嵌入式数据库采用的安全机制。第5章介绍嵌入式数据库SQLite的基础知识。第6章介绍SQLite的原理和主要组成。第7章介绍SQLite在不同应用环境下的应用。第8章介绍了4个嵌入式数据库应用的实例。
本书编写过程中,王剑负责第1章、第8章的编写和全书的统稿工作,刘鹏负责第2~4章的编写工作,孙庆生负责第5~7章的编写工作,叶玲对本书进行了审校工作。同时本书的编写也得到王子瑜小朋友的鼓励和支持,在此表示衷心的感谢。
本书参考了国内外的许多最新的技术资料,书末有具体的参考文献,有兴趣的读者可以查阅相关信息。
目录
第1章绪论
视频讲解: 89分钟(11个)
1.1嵌入式系统概述
1.1.1嵌入式系统的定义与特点
1.1.2典型的嵌入式系统组成
1.1.3嵌入式操作系统
1.2数据库系统概述
1.2.1数据库系统的定义和基本概念
1.2.2数据库系统的组成
1.2.3数据库管理系统
1.3嵌入式数据库系统的定义和特点
1.3.1嵌入式数据库系统的定义
1.3.2嵌入式数据库系统的特点
1.3.3嵌入式数据库的分类
1.4嵌入式数据库的发展趋势
1.5嵌入式数据库系统的应用
1.6小结
习题
第2章嵌入式数据库的系统结构
视频讲解: 34分钟(6个)
2.1嵌入式数据库的系统结构概述
2.2嵌入式实时数据库
2.2.1嵌入式实时数据库的特点与组成
2.2.2常见嵌入式实时数据库产品
2.2.3提高嵌入式数据库实时性的方法
2.3嵌入式移动数据库
2.3.1嵌入式移动数据库的系统结构
2.3.2嵌入式移动数据库的主要特点
2.3.3嵌入式移动数据库在应用中的关键问题
2.3.4嵌入式移动数据库系统Oracle Lite
2.3.5嵌入式移动数据库的应用前景
2.4典型嵌入式数据库介绍
2.4.1Berkeley DB
2.4.2OpenBASE Lite
2.4.3Firebird嵌入式服务器版
2.5小结
习题
第3章嵌入式数据库系统的关键技术
视频讲解: 7分钟(1个)
3.1概述
3.2嵌入式数据库存储设备管理策略简介
3.2.1嵌入式系统的存储方式
3.2.2嵌入式数据库存储设备管理策略
3.3嵌入式数据库访问算法
3.3.1数据的存储组织
3.3.2B树访问算法
3.3.3Hash 访问算法
3.3.4Queue 访问算法
3.3.5Recno 访问算法
3.3.6访问算法的特点
3.4实时事务处理技术
3.4.1数据特征
3.4.2实时事务特征
3.4.3实时事务调度
3.4.4基于功能替代的实时事务二次调度机制
3.5实时并发控制
3.5.1并发控制概述
3.5.2实时并发控制协议
3.6数据库恢复和备份
3.6.1数据复制及备份
3.6.2嵌入式数据库备份
3.6.3嵌入式数据库恢复
3.7系统可定制技术
3.8XML
3.9小结
习题
第4章嵌入式数据库安全机制
视频讲解: 7分钟(1个)
4.1嵌入式数据库安全概述
4.1.1信息安全与数据库安全
4.1.2数据库安全概念
4.1.3嵌入式数据库系统威胁分析
4.2嵌入式数据库的安全机制
4.2.1概述
4.2.2身份认证机制
4.2.3访问控制机制
4.2.4数据加密机制
4.2.5安全审计机制
4.2.6安全通信机制
4.3小结
习题
第5章SQLite基础
视频讲解: 15分钟(2个)
5.1SQLite的特点及适用场景
5.2SQLite的存储种类和数据类型
5.3SQLite语法
5.3.1数据表操作
5.3.2视图的操作
5.3.3索引的操作
5.3.4触发器的操作
5.3.5日期和时间函数
5.3.6数据库和事物
5.4SQLite的内置函数
5.5SQLite的运算符
5.5.1数学运算符
5.5.2比较运算符
5.5.3逻辑运算符
5.5.4位运算符
5.6SQLite的常用命令
5.7SQLite的C/C++接口
5.7.1核心C API函数
5.7.2扩充C API 函数
5.8SQLite工具
5.8.1命令行Shell
5.8.2数据分析器
5.8.3可恢复批量更新
5.8.4数据库文件比较程序
5.8.5数据库哈希
5.8.6Fossil
5.8.7SQLite存档程序
5.9实例代码
5.9.1获取表的Schema信息
5.9.2数据插入
5.9.3数据查询
5.10小结
习题
第6章SQLite关键技术
视频讲解: 7分钟(1个)
6.1SQLite的体系结构
6.2虚拟数据库引擎
6.2.1操作码分析
6.2.2VDBE程序执行原理及实例研究
6.3B树和页面缓存
6.3.1SQLite的B树结构
6.3.2SQLite数据库文件格式
6.4锁和并发控制
6.4.1文件锁
6.4.2回滚日志
6.4.3数据写入
6.4.4SQL级别的事务控制
6.5小结
习题
第7章SQLite典型应用实例
视频讲解: 64分钟(7个)
7.1Linux中的SQLite应用
7.1.1SQLite安装
7.1.2SQLite在ARMLinux上的移植与测试
7.2Android中的SQLite应用
7.2.1SQLiteDatabase
7.2.2SQLiteOpenHelper
7.2.3实例
7.2.4Google Room框架
7.3Qt数据库应用
7.3.1数据库驱动
7.3.2Qt与SQLite数据库的连接
7.3.3SQL模型
7.4SQLite数据库管理工具
7.4.1SQLite Expert
7.4.2SQLite Administrator
7.4.3SQLite Database Browser
7.4.4SQLiteSpy
7.4.5SQLite Manager 0.8.0 Firefox Plugin
7.5边缘计算与SQLite
7.5.1创建本地数据库存储函数
7.5.2分配函数到边缘实例
7.5.3配置消息路由
7.5.4部署边缘实例
7.6SQLite在iOS中的应用实例
7.6.1第一个实例
7.6.2iOS开发中的SQLite的重要框架FMDB
7.7小结
习题
第8章SQLite场景应用
视频讲解: 37分钟(5个)
8.1Web服务器中的嵌入式数据库
8.1.1系统环境搭建
8.1.2Web服务器原理
8.1.3嵌入式Web服务器设计
8.2嵌入式数据库在智能无人值守实验室监控系统中的实例
8.2.1系统总体框架
8.2.2实验室监控子系统
8.2.3学生选课预约
8.2.4门禁系统的设计
8.2.5界面开发: Qt的应用
8.3嵌入式数据库在物联网网关中的设计实例
8.3.1背景介绍——湿地环境监测系统平台整体架构
8.3.2网关节点硬件设计方案
8.3.3系统软件设计
8.3.4数据库建设
8.4基于SQLite嵌入式数据库的智能电表抄表管理系统
8.4.1系统总体设计
8.4.2抄表系统实现技术路线
8.4.3数据模型设计
8.4.4数据模型物理部署
8.4.5查询显示类功能模块设计
8.4.6增加、更新修改、删除类功能模块设计
8.4.7查询优化环节
8.5基于嵌入式移动数据库的物流管理系统
8.5.1嵌入式移动终端的硬件和数据库设计
8.5.2服务器数据库设计
8.5.3嵌入式数据库数据传输与同步设计
8.6小结
参考文献