SQLAlchemy

SQLAlchemy是Python程式語言下的一款開源軟體。提供了SQL工具包及對象關係映射(ORM)工具,使用MIT許可證發行。 SQLAlchemy“採用簡單的Python語言,為高效和高性能的資料庫訪問設計,實現了完整的企業級持久模型”。SQLAlchemy的理念是,SQL資料庫的量級和性能重要於對象集合;而對象集合的抽象又重要於表和行。因此,SQLAlchemy採用了類似於Java里Hibernate的數據映射模型,而不是其他ORM框架採用的Active Record模型。不過,Elixir和declarative等可選外掛程式可以讓用戶使用聲明語法。 SQLAlchemy首次發行於2006年2月,並迅速地在Python社區中最廣泛使用的ORM工具之一,不亞於Django的ORM框架。

模組簡介

對象關係映射器(Object Relational Mappers,ORM)在過去數年吸引了不少人的目光。主要原因是 ORM 經常會在 Web 應用程式框架中被提起,因為它是快速開發(Rapid Development)棧中的關鍵組件。Django 和 Ruby on Rails 等 Web 框架採用了設計一個獨立棧的方法,將自主開發的 ORM 緊密集成到該框架中。而其他框架,如 Pylons、Turbogears 和 Grok,則採用更加基於組件的架構結合可交換的第三方組件。兩種方法都有各自的優勢:緊密集成允許非常連貫的體驗(如果問題映射到框架),而基於組件的架構則允許最大的設計靈活性。但是,本文的主題並不是 Web 框架;而是 SQLAlchemy。

主要套用

SQLAlchemy 在構建在 WSGI 規範上的下一代 Python Web 框架中得到了廣泛套用,它是由 Mike Bayer 和他的核心開發人員團隊開發的一個單獨的項目。使用 SQLAlchemy等獨立 ORM 的一個優勢就是它允許開發人員首先考慮數據模型,並能決定稍後可視化數據的方式(採用命令行工具、Web 框架還是 GUI 框架)。這與先決定使用 Web 框架或 GUI 框架,然後再決定如何在框架允許的範圍內使用數據模型的開發方法極為不同。

SQLAlchemy 的一個目標是提供能兼容眾多資料庫(如 SQLite、MySQL、Postgres、Oracle、MS-SQL、SQLServer 和 Firebird)的企業級持久性模型。SQLAlchemy 正處於積極開發階段,當前最新的 API 將圍繞版本 0.5 設計。請參閱參考資料部分,獲取官方 API 文檔、教程和 SQLAlchemy 書籍的連結。

SQLAlchemy 取得成功的一個證明就是圍繞它已建立了豐富的社區。針對 SQLAlchemy 的擴展和外掛程式包括:declarative、Migrate、Elixir、SQLSoup、django-sqlalchemy、DBSprockets、FormAlchemy 和 z3c.sqlalchemy。

相關詞條

相關搜尋

熱門詞條

聯絡我們