Differences between revisions 1 and 14 (spanning 13 versions)
Revision 1 as of 2006-07-16 16:58:58
Size: 4466
Editor: swordsp
Comment:
Revision 14 as of 2007-01-16 15:37:20
Size: 3225
Editor: swordsp
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from zhSoftDespTemplate
Line 5: Line 4:
[[Include(swordsp/COTW/Header)]]
Line 6: Line 7:
=== DB-API 标准 ===
 * [wiki:peps/pep-0249 Python Database API Specification v2.0]
 * [wiki:peps/pep-0248 Python Database API Specification v1.0]
=== 数据库接口模块 ===
[:DatabaseModules:Python 数据库接口模块] -- 收集了Python 中的常用数据库接口模块,包括:
 * 主流关系数据库的专用接口模块(Postgre{{{}}}SQL、My{{{}}}SQL、SQLite……)
 * 通用接口模块(ODBC、JDBC……)
Line 7: Line 15:
=== DB-API 标准 === == ORM ( Object-Relational Mapping ) 框架 ==
=== SQLObject ===
主页:http://www.sqlobject.org
=== SQLAlchemy ===
[:SQLAlchemy: python 中最好的 ORM]
=== Modeling ===
主页:http://modeling.sourceforge.net
=== MiddleKit ===
Webware 框架的组件之一。
Line 9: Line 25:
 * http://www.python.org/doc/peps/pep-0249 -- DB-API 2.0 spec v2.0 主页:http://www.webwareforpython.org/Webware/MiddleKit/Docs/
Line 11: Line 27:
 * http://www.python.org/doc/peps/pep-0248 -- DB-API 2.0 spec v1.0 === PyDO ===
Skunk{{{}}}Web (一个web application server)的组件之一。
Line 13: Line 30:
=== 专用数据库连接模块 === 主页:http://skunkweb.sourceforge.net/pydo.html
Line 15: Line 32:
==== MySQL ====

 * [http://www.mysql.com/ MySQL] -- 最流行的开源数据库

 * [http://sourceforge.net/projects/mysql-python MySQL-Python] -- MySQL 的 Python 接口

  * [http://dustman.net/andy/python/python-and-mysql] -- MySQL-Python 作者的 Presentation

==== SQLite ====

 * [http://sqlite.org/ SQLite] -- 小巧轻便的嵌入式数据库

 * [http://pysqlite.org/ pysqlite] -- SQLite 的半官方性质 Python 接口,已于 Python 2.5 之后成为标准库

  * [:pySqlite:pysqlite文档资料收集]

==== PostgreSQL ====

 * [http://www.postgresql.org/ PostgreSQL] -- 比 MySQL 功能更强大、历史更悠久的开源数据库

  * [http://www.pgsqldb.org/ PostgreSQL中文网]

 * [http://www.pygresql.org/ PyGreSQL] -- 历史最悠久,最流行的 PostgreSQL 接口
 
 * [http://initd.org/projects/psycopg2 psycopg2] -- 特别为高并发环境设计的 PostgreSQL 驱动

 * [http://pypgsql.sourceforge.net/ pyPgSQL] -- Python世界里的另一个 PostgreSQL 接口

==== Oracle ====

 * [http://www.oracle.com/ Oracle] -- 数据库领域中的巨鳄,最为强大先进的商业数据库产品

 * [http://www.zope.org/Members/matt/dco2 DCOracle2] -- Zope 出品的 Oracle 驱动

 * [http://www.cxtools.net/default.aspx?nav=cxorlb cx_Oracle] -- 另一个 Oracle 接口模块

==== IBM DB2 ====

 * [http://sourceforge.net/projects/pydb2 pydb2] -- DB2 的 Python 接口,此外还包括了若干小工具

==== SAP DB ====

 * [http://www.sapdb.org/sapdbapi.html sapdbapi] -- SAP DB 的 Python 接口

==== Infomix ====

 * [http://sourceforge.net/projects/informixdb/ informixdb]

==== Interbase ====

 * [http://kinterbasdb.sourceforge.net/ kinterbasdb] -- Interbase 4.0 和 5.0 的 Python接口

==== Ingres ====

 * [http://www.informatik.uni-rostock.de/~hme/software/ ingmod]

==== Sybase ====

 * [http://www.object-craft.com.au/projects/sybase/ Sybase module for Python] -- Sybase 的 DB-API 2.0 接口

==== ThinkSQL ====

 * [http://www.thinksql.co.uk/ ThinkSQL] -- 一个内置了Python接口的商业数据库产品

=== 通用数据库接口 ===

==== ODBC ====

 * [http://www.egenix.com/files/python/mxODBC.html mxODBC] -- 流行的 mx 系列工具包中的一部分,也是其中唯一的商业产品(用于非商业开发不需付费)。实现了绝大部分 DB-API 2.0 接口。

 * [http://pyodbc.sourceforge.net/ pyodbc] -- 开源的 Python ODBC 接口,完整实现了 DB-API 2.0 接口

 * ODBC Interface -- 随 [http://sourceforge.net/projects/pywin32/ PythonWin] 附带发行的模块,文档和维护缺乏

==== JDBC ====

 * [http://www.ziclix.com/zxjdbc/ zxJDBC] -- 专为 Jython 设计的 DB-API 2.0 接口,建立在底层的 JDBC 接口之上。已经包含在 Jython 2.1 以后的发行版中。

=== ORM ( Object-Relational Mapping ) 框架 ===

==== SQLObject ====

==== SQLAlchemy ====

=== 非 DB-API 兼容的数据库接口 ===

==== SQLRelay ====

 * [http://sqlrelay.sourceforge.net/ SQLRelay] -- Unix 环境下的通用数据库连接池,支持多种数据库和编程语言,提供了自己的 Python 接口

==== Matisse ====

 * [http://www.matisse.com/product_information/language_bindings/lang_python.html Matisse] -- 商业数据库产品Matisse,内置 Python 绑定支持

== 基于文件系统的存储 ==

== 对象持久化 ==
== 对象持久化与 OODB ==
Line 114: Line 34:

Python 标准库中的两个模块,可以将 Python 对象“序列化”为字符串流,或者进行相应的反向操作。

相对于 pickle,shelve 是更为高层的封装(内部依赖于 pickle 和 anydbm 模块),一般情况下不直接使用前者。
 * Python 标准库中的两个模块,可以将 Python 对象“序列化”为字符串流,或者进行相应的反向操作。
 * 相对于 pickle,shelve 是更为高层的封装(内部依赖于 pickle 和 anydbm 模块),一般情况下不直接使用前者。
Line 123: Line 41:
 * ["ZODB笔记"] -- hoxide [2005-02-20 14:24:40] 开启
 * LearningZodb -- 规范化的深入学习
Line 124: Line 44:
 * ["ZODB笔记"] -- hoxide [2005-02-20 14:24:40] 开启 === Schevo ===
主页:http://schevo.org/
Line 126: Line 47:
 * LearningZodb -- 规范化的深入学习 === Divmod Axiom ===
主页:http://divmod.org/trac/wiki/DivmodAxiom

=== PyPerSyst ===
主页:http://sourceforge.net/projects/pypersyst/
=== Durus ===
主页:http://www.mems-exchange.org/software/durus/
=== PyVersant ===
商业面向对象数据库产品 [http://www.versant.com/ Versant] 的 Python 接口。

主页:http://starship.python.net/crew/jmenzel/

== 其它数据存储接口 ==
=== anydbm ===
Python 标准库,提供了“类DBM”模块的通用接口,在文件系统中保存类似字典的结构
 . 其具体实现包括:
 * DBM
 * GBDM
 * dbhash
=== BSDDB ===
Python 标准库,除了字典结构外,还实现了B树,因此允许对元素的顺序访问。
=== PyTables ===
 * [http://www.pytables.org/moin/ PyTables] -- 管理层次型数据集的包,设计成可高效地处理极大量的数据

 它构建于[http://hdf.ncsa.uiuc.edu/HDF5/ HDF5]之上,一个通用的存储数据的C库,被设计成能满足数据存储不断增加和数据处理不断变化的需求,主要运用于科学计算中
=== Metakit for Python ===
 * [http://www.equi4.com/metakit/python.html Mk4py] -- [http://www.equi4.com/metakit.html Metakit]是一个可运行于多个平台的高效的嵌入式数据库,使用C++开发,Mk4py是其python绑定
=== mxBeeBase ===
主页:http://www.lemburg.com/files/python/mxBeeBase.html

Python数据库开发概要 ::-- ["swordsp"] [DateTime(2006-07-16T16:58:58Z)] TableOfContents

Include(swordsp/COTW/Header)

关系型数据库 ( Relational Database ) 开发

DB-API 标准

  • [wiki:peps/pep-0249 Python Database API Specification v2.0]
  • [wiki:peps/pep-0248 Python Database API Specification v1.0]

数据库接口模块

[:DatabaseModules:Python 数据库接口模块] -- 收集了Python 中的常用数据库接口模块,包括:

  • 主流关系数据库的专用接口模块(PostgreSQL、MySQL、SQLite……)

  • 通用接口模块(ODBC、JDBC……)

ORM ( Object-Relational Mapping ) 框架

SQLObject

主页:http://www.sqlobject.org

SQLAlchemy

[:SQLAlchemy: python 中最好的 ORM]

Modeling

主页:http://modeling.sourceforge.net

MiddleKit

Webware 框架的组件之一。

主页:http://www.webwareforpython.org/Webware/MiddleKit/Docs/

PyDO

SkunkWeb (一个web application server)的组件之一。

主页:http://skunkweb.sourceforge.net/pydo.html

对象持久化与 OODB

pickle 和 shelve

  • Python 标准库中的两个模块,可以将 Python 对象“序列化”为字符串流,或者进行相应的反向操作。
  • 相对于 pickle,shelve 是更为高层的封装(内部依赖于 pickle 和 anydbm 模块),一般情况下不直接使用前者。

ZODB

ZODB ( Zope Object Database ) 是一个高效对象型数据库,也是Zope平台的一部分。

Schevo

主页:http://schevo.org/

Divmod Axiom

主页:http://divmod.org/trac/wiki/DivmodAxiom

PyPerSyst

主页:http://sourceforge.net/projects/pypersyst/

Durus

主页:http://www.mems-exchange.org/software/durus/

PyVersant

商业面向对象数据库产品 [http://www.versant.com/ Versant] 的 Python 接口。

主页:http://starship.python.net/crew/jmenzel/

其它数据存储接口

anydbm

Python 标准库,提供了“类DBM”模块的通用接口,在文件系统中保存类似字典的结构

  • 其具体实现包括:
  • DBM
  • GBDM
  • dbhash

BSDDB

Python 标准库,除了字典结构外,还实现了B树,因此允许对元素的顺序访问。

PyTables

Metakit for Python

mxBeeBase

主页:http://www.lemburg.com/files/python/mxBeeBase.html

Py4Database (last edited 2009-12-25 07:14:54 by localhost)