SQLAlchemy

SQLAlchemy
SQLAlchemy
Betriebssystem plattformunabhängig
Programmier­sprache Python
Kategorie ORM
Lizenz MIT-Lizenz
www.sqlalchemy.org

SQLAlchemy ist ein Open Source SQL-Toolkit und ORM-Framework für die Programmiersprache Python um den Object-relational impedance mismatch, etwa wie auch Javas Hibernate, zu umschiffen. SQLAlchemy wurde im Februar 2006 veröffentlicht.

SQLAlchemy bietet eine Reihe von Entwurfsmustern zur effizienten Persistenzhaltung von Daten in einer relationalen Datenbank. Die Motivation hinter SQLAlchemy ist darin begründet, dass sich SQL-Datenbanken weniger Objektsammlungen ähneln, desto umfangreicher der Datenbestand und desto mehr Leistung gefragt ist, während Objektsammlungen sich weniger wie Relationen und Tupel verhalten je mehr zwischen Datenrepräsentation und Miniwelt abstrahiert wird. Daher verfolgt SQLAlchemy primär ein Data Mapper Muster anstelle eines sog. "Active Record" Musters. Optionale Plugins ermöglichen weitere Muster, z.B. mit Elixir eine deklarative Syntax.

Inhaltsverzeichnis

Beispiel

Erzeugung einer M:N-Beziehung (Autorschaft) zwischen Buch und Autor (ohne imports):

engine = sqlalchemy.create_engine('postgres://user:pwd@host/dbname', echo=True)
 
autorschaft = Table('buch_autor', Base.metadata, 
  Column('isbn', Integer, ForeignKey('buch.isbn')), 
  Column('kennung', Integer, ForeignKey('autor.kennung'))
)
 
class Buch(Base):
    __tablename__ = 'buch'
 
    isbn = Column(Integer, primary_key=True)
    titel = Column(String(255), nullable=False)
    klappentext = Column(Text)
 
    autoren = relationship(Autor, secondary=autorschaft, backref='buecher')
 
class Autor(Base):
    __tablename__ = 'autor'
 
    kennung = Column(String(32), primary_key=True)
    name = Column(String(50), nullable=False, unique=True)
 
Base.metadata.create_all(engine)

Literatur

Weblinks

Siehe auch

  • Django (Python Web Framework inkl. ORM)
  • Hibernate (Java ORM)
  • TurboGears (Python Web Framework, das standardmäßig SQLAlchemy benutzt)

Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • SQLAlchemy — Тип ORM Разработчик Mike Bayer[1] Написана на Python Операционная система Кроссплатформенное ПО Последняя версия 0.7.8 (12 июня …   Википедия

  • SQLAlchemy — is an open source SQL toolkit and object relational mapper for the Python programming language released under the MIT License.SQLAlchemy provides a full suite of well known enterprise level persistence patterns, designed for efficient and high… …   Wikipedia

  • SQLAlchemy — est un toolkit open source SQL et un mapping objet relationnel (ORM) écrit en Python et publié sous licence MIT. SQLAlchemy a opté pour l utilisation du pattern Data Mapper[1] plutôt que l active record utilisés par de nombreux autres ORM.… …   Wikipédia en Français

  • Comparison of web application frameworks — This is a comparison of notable web application frameworks. Contents 1 General 1.1 Perl 1.2 PHP 1.3 Java 1.4 Python …   Wikipedia

  • Сравнение каркасов веб-приложений — Это сравнительная таблица фреймворков веб приложений. Содержание 1 Фреймворки 1.1 ASP.NET 1.2 C++ 1.3 ColdFusion Markup Language (CFML) …   Википедия

  • Pyramid (программный каркас) — Pyramid Тип Программный каркас веб приложений Разработчик …   Википедия

  • CherryPy — Developer(s) CherryPy team Stable release 3.2.0 / February 25, 2011; 8 months ago (2011 02 25) Written in Python …   Wikipedia

  • Pylons — Тип Программный каркас для создания веб приложений Разработчик Бен Бангерт, Джеймс Гарднер Операционная система Кроссплатформенный Последняя версия 1.3 ( …   Википедия

  • TurboGears — Infobox Software name = TurboGears developer = [http://www.blueskyonmars.com/ Kevin Dangoor] et al. latest release version = 1.0.7 latest release date = September 15, 2008 programming language = Python operating system = Cross platform genre =… …   Wikipedia

  • Python — Este artículo trata sobre el lenguaje de programación. Para el grupo de humoristas, véase Monty Python. Para otros usos de este término, véase Pitón. Python Desarrol …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”