本词条缺少
名片图,补充相关内容使词条更完整,还能快速升级,赶紧来
编辑吧!
SQLAlchemy“采用简单的Python语言,为高效和高性能的数据库访问设计,实现了完整的企业级持久模型”。SQLAlchemy的理念是,
SQL数据库的量级和性能重要于对象集合;而对象集合的抽象又重要于表和行。因此,SQLAlchmey采用了类似于
Java里
Hibernate的数据映射模型,而不是其他ORM框架采用的Active Record模型。不过,Elixir和declarative等可选插件可以让用户使用声明语法。
SQLAlchemy首次发行于2006年2月,并迅速地在
Python社区中最广泛使用的ORM工具之一,不亚于Django的ORM框架。
[1]
模块简介
编辑
对象关系映射器(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。