Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
teknopedia

teknopedia

teknopedia

teknopedia

teknopedia
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. SQLAlchemy – Wikipedia
SQLAlchemy – Wikipedia
aus Wikipedia, der freien Enzyklopädie
SQLAlchemy
Basisdaten

Aktuelle Version 2.0.29
(23. März 2024)
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 mit dem Ziel, den Object-relational impedance mismatch in der Art von 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 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.

Beispiel

[Bearbeiten | Quelltext bearbeiten]

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)

Unterstützte Datenbanken

[Bearbeiten | Quelltext bearbeiten]

SQLAlchemy unterstützt eine Vielzahl von Datenbankmanagementsystemen:

  • Informix IDS
  • DB2
  • Drizzle
  • Firebird
  • SAP MaxDB
  • Microsoft Access
  • Microsoft SQL Server
  • MySQL
  • Oracle Database
  • PostgreSQL
  • SQLite
  • Sybase ASE

Siehe auch

[Bearbeiten | Quelltext bearbeiten]
  • Django (Python Web Framework inkl. ORM)
  • Hibernate (Java ORM)

Literatur

[Bearbeiten | Quelltext bearbeiten]
  • Mark Ramm, Michael Bayer: SQLAlchemy: Database Access Using Python, Addison-Wesley, 2010, ISBN 978-0-13-236467-6
  • Rick Copeland: Essential SQLAlchemy, O’Reilly, 2008, ISBN 0-596-51614-2
  • Jeremy Jones, Noah Gift: Python for Unix and Linux System Administration, O’Reilly, 2008, ISBN 978-0-596-51582-9

Weblinks

[Bearbeiten | Quelltext bearbeiten]
  • SQLAlchemy Homepage
  • SQLAlchemy Plugins
  • SQLAlchemy Liste unterstützter Datenbanksysteme
Abgerufen von „https://de.teknopedia.teknokrat.ac.id/w/index.php?title=SQLAlchemy&oldid=243741560“
Kategorien:
  • Datenbankschnittstelle
  • Python-Bibliothek
  • Freies Programmierwerkzeug
  • PostgreSQL

  • indonesia
  • Polski
  • العربية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصرى
  • Nederlands
  • 日本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українська
  • Tiếng Việt
  • Winaray
  • 中文
  • Русский
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id