Top-Fragen
Zeitleiste
Chat
Kontext

SQLAlchemy

SQL-Toolkit für die Programmiersprache Python Aus Wikipedia, der freien Enzyklopädie

Remove ads

SQLAlchemy ist ein Open-Source-SQL-Toolkit und ORM-Framework für die Programmiersprache Python mit dem Ziel, den Object-relational impedance mismatch in der Art von Javas Hibernate zu umschiffen. SQLAlchemy wurde im Februar 2006 veröffentlicht.

Schnelle Fakten Basisdaten ...
Remove ads

SQLAlchemy bietet eine Reihe von Entwurfsmustern zur effizienten Persistenzhaltung von Daten in einer relationalen Datenbank. Die Motivation hinter SQLAlchemy ist darin begründet, dass SQL-Datenbanken umso weniger Objektsammlungen ähneln, je umfangreicher der Datenbestand und je 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 sogenannten Active Record-Musters. Optionale Plugins ermöglichen weitere Muster, z. B. mit Elixir eine deklarative Syntax.

Remove ads

Beispiel

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

Base = declarative_base()

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)
Remove ads

Unterstützte Datenbanken

SQLAlchemy unterstützt eine Vielzahl von Datenbankmanagementsystemen:

Siehe auch

Literatur

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads