SQLite

来自ITwiki,开放的信息技术大百科

  SQLite

维护者: D. Richard Hipp
最新发布: 3.3.6 / 2006年, 2月11日
最新测试: /
操作系统: 跨平台
软件类别: 开发库
许可协议: 公有领域
网站: SQLite


SQLite 是遵守 ACID关系型数据库管理系统,它包含在一个相对小的 C 中。它是 D. Richard Hipp 建立的公有领域项目。

不像常见的客户-服务器范例,SQLite 引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接 API 调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。

目录

特征

库实现了多数的 SQL-92 标准,包括事务,就是代表原子性一致性孤立性持久性的 (ACID),触发器和多数的复杂查询。不进行类型检查。你可以把字符串插入到整数列中。例如,某些用户发现这是使数据库更加有用的创新,特别是与无类型的脚本语言一起使用的时候。其它用户认为这是主要的缺点。

多个进程线程可以访问同一个数据而没有问题。可以并行的满足多个读访问。只有在其它访问当前不被服务的时候才能满足写访问;否则写访问失败并带有一个错误代码(也可以在可配置的超时过期之后自动的重试)。

提供了叫做 sqlite 的一个独立程序用来查询和管理 SQLite 数据库文件。 它也充当写使用 SQLite 库的应用的一个例子。

语言绑定

可以从 C/C++ 程序中使用这个库,还可以获得对 Tcl 和一些其它脚本语言的绑定。

CPANDBD::SQLite 上有一个 PerlDBI/DBD 模块,它不是到 SQLite 的接口,而是包括整个 SQLite 数据库引擎在其中并不需要任何额外的软件。

还有一个 Python 模块叫做 PySQLite

PHP 从 PHP 5.0 开始包含了 SQLite,但是自5.1版之后开始成为一个延伸函式库。SQLite 能与 PHP 4 一起工作但不包含在其中。

See Also

外部链接


数据库管理系统(DBMS)中的主题

概念
数据库 | 数据库模型 | 关系数据库 | 关系模型 | 关系代数 | 主码 - 外码 - 代理码 - 超码
规范化 | 参照完整性 | 关系型DBMS | 分布式DBMS | ACID

对象
触发器 | 视图 | | 游标 | 事务日志 | 事务 | 索引 | 存储过程 | 分区

SQL中的主题
Select | Insert | Update | Merge | Delete | Join | Union | Create | Drop
语义比较

数据库管理系统实现

实现类型
Flat file | Deductive | Dimensional | 树状 | 面向对象 | 时态

产品
db4o | dBASE | Oracle | Caché | OpenLink Virtuoso | Sybase | Ingres | MySQL | SQLite | Microsoft SQL Server | Essbase | PostgreSQL | DB2 | Informix | Helix database | Teradata | 比较 - 关系型 | 比较 - 对象-关系型

组件
查询语言 | 查询优化 | 查询方法 | ODBC | JDBC
列表
面向对象数据库管理系统列表
关系数据库管理系统列表
全关系数据库管理系统列表