内部架构及
SQLite 使用办法
SQLite 介绍
SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有
很好的性能。由于
JDBC 不适合手机这种内存受限设备,所以 Android 开发人员需要学习新
的
API 来使用 SQLite。此外它还是开源的,任何人都可以使用它。许多开源项目((Mozilla,
PHP, Python)都使用了 SQLite.
SQLite 由以下几个组件组成:SQL 编译器、内核、后端以及附件。SQLite 通过利用虚拟
机和虚拟数据库引擎
(VDBE),使调试、修改和扩展 SQLite 的内核变得更加方便。
图
1. SQLite 内部架
构
SQLite 基 本 上
符合
SQL-92 标准,
和 其 他 的 主 要
SQL
数据库没什么区别。
它 的 优 点 就 是 高 效 ,
Android 运 行 时 环 境
包 含 了 完 整 的
SQLite。
SQLite 和 其 他
数据库最大的不同就
是对数据类型的支持,
创建一个表时,可以
在
CREATE TABLE
语句中指定某列的数据类型,但是你可以把任何数据类型放入任何列中。当某个值插入数据
库时,
SQLite 将检查它的类型。如果该类型与关联的列不匹配,则 SQLite 会尝试将该值转
换成该列的类型。如果不能转换,则该值将作为其本身具有的类型存储。比如可以把一个字
符串
(String)放入 INTEGER 列。SQLite 称这为“弱类型”(manifest typing.)。
此 外 ,
SQLite 不 支 持 一 些 标 准 的 SQL 功 能 , 特 别 是 外 键 约 束 (FOREIGN KEY
constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 还有一些
ALTER TABLE 功能。