Differences between revisions 6 and 20 (spanning 14 versions)
Revision 6 as of 2006-07-18 06:01:41
Size: 5783
Editor: ibear
Comment:
Revision 20 as of 2009-12-25 07:14:54
Size: 3531
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
''' Python数据库开发概要 '''::-- ["swordsp"] [[[DateTime(2006-07-16T16:58:58Z)]]] [[TableOfContents]] ''' Python数据库开发概要 '''::-- [[swordsp]] [<<DateTime(2007-01-16T15:51:28Z)>>] <<TableOfContents>>
Line 4: Line 4:
[[Include(swordsp/COTW/Header)]] <<Include(swordsp/COTW/Header)>>
Line 8: Line 8:
 * http://www.python.org/doc/peps/pep-0249 -- DB-API 2.0 spec v2.0
 * http://www.python.org/doc/peps/pep-0248 -- DB-API 2.0 spec v1.0
=== 专用数据库连接模块 ===
==== 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 接口
==== SQL Server ====
 * [http://pymssql.sourceforge.net/ MicroSoft SQL Server module for Python] -- SQLServer 的 DB-API 2.0 接口
 * pymssql 0.7.1 已经在 FreeBSD 5.4, 6.0, NetBSD 2.0.2, Linux with kernel 2.6, Solaris 10/x86, Mac OS X, Windows XP等多种平台上测试通过.
 * pymssql 0.7.4 经测试支持 SQL Server 2000, all service pack levels.
 pymssql 0.7.4 on Windows 经测试支持 SQL Server 2000 RTM, SP3a and SP4,SQL Server 2005 RTM.
 * 其他版本的SQL Server也可能被支持.
 * 在Windows平台下使用MS SQL DB-Library, 在Linux等平台使用[http://www.freetds.org/ Freetds]连接SQL Server.
 * 目前常见的一些问题: 不支持SQL Server的ntext数据类型,请把ntext类型的字段修改为nvarchar.[http://pymssql.sourceforge.net/troubleshooting.html#unicode --nEO]
==== 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 绑定支持
== 基于文件系统的存储 ==
== 其它数据存储接口 ==
=== PyTables ===
 * [http://www.pytables.org/moin/ PyTables] -- 管理层次型数据集的包,设计成可高效地处理极大量的数据
 * [[peps:pep-0249|Python Database API Specification v2.0]]
 * [[peps:pep-0248|Python Database API Specification v1.0]]
=== 数据库接口模块 ===
[[DatabaseModules|Python 数据库接口模块]] -- 收集了Python 中的常用数据库接口模块,包括:
 * 主流关系数据库的专用接口模块(Postgre{{{}}}SQL、My{{{}}}SQL、SQLite……)
 * 通用接口模块(ODBC、JDBC……)
 * [[Gadfly]] -- Python 实现的一个嵌入式 in-memory 关系数据库
Line 71: Line 16:
 它构建于[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绑定
== 对象持久化 ==
== 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 ===
Skunk{{{}}}Web (一个web application server)的组件之一。

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

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

相对于 pickle,shelve 是更为高层的封装(内部依赖于 pickle 和 anydbm 模块),一般情况下不直接使用前者。
 * Python 标准库中的两个模块,可以将 Python 对象“序列化”为字符串流,或者进行相应的反向操作。
 * 相对于 pickle,shelve 是更为高层的封装(内部依赖于 pickle 和 anydbm 模块),一般情况下不直接使用前者。
Line 84: Line 42:
 * ["ZODB笔记"] -- hoxide [2005-02-20 14:24:40] 开启  * [[ZODB笔记]] -- hoxide [2005-02-20 14:24:40] 开启
Line 86: Line 44:
 * http://www.xuecan.com/references/ZODB/ -- ZODB/ZEO Programming Guide 的简体中文翻译。

=== Schevo ===
主页:http://schevo.org/

=== Divmod Axiom ===
主页:http://divmod.org/trac/wiki/DivmodAxiom

=== PyPerSyst ===
主页:http://sourceforge.net/projects/pypersyst/
=== Durus ===
{{http://www.mems-exchange.org/images/banner/Ab-banner.jpg}}
 * 主页:http://www.mems-exchange.org/software/durus/
  * Quixote 团队作品!!
 * /LickDurus ~ 尝试一下

=== 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 [2007-01-16 15:51:28]

此条目正在进行条目质量提升计划,详情请阅读项目首页

欢迎对此页面进行补充和修正,也请关注计划中的其它页面,为啄木鸟贡献您的一份力量。

近期活跃条目: (./) Python 图书概览 {*} Python数据库开发概要 {*} Python 语言研究

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

DB-API 标准

数据库接口模块

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

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

  • 通用接口模块(ODBC、JDBC……)
  • Gadfly -- Python 实现的一个嵌入式 in-memory 关系数据库

ORM ( Object-Relational Mapping ) 框架

SQLObject

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

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/images/banner/Ab-banner.jpg

PyVersant

商业面向对象数据库产品 Versant 的 Python 接口。

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

其它数据存储接口

anydbm

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

其具体实现包括:

  • DBM
  • GBDM
  • dbhash

BSDDB

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

PyTables

  • PyTables -- 管理层次型数据集的包,设计成可高效地处理极大量的数据

    它构建于HDF5之上,一个通用的存储数据的C库,被设计成能满足数据存储不断增加和数据处理不断变化的需求,主要运用于科学计算中

Metakit for Python

  • Mk4py -- Metakit是一个可运行于多个平台的高效的嵌入式数据库,使用C++开发,Mk4py是其python绑定

mxBeeBase

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

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