SQLAlchimie
| SQLAlchimie | |
|---|---|
| Date de bază
| |
| Versiunea actuală | 1.3.18 (25 iunie 2020) |
| sistem de operare | platforma independenta |
| limbaj de programare | piton |
| categorie | ORM |
| Licență | Licență MIT |
| www.sqlalchemy.org | |
SQLAlchemy este o sursă deschisă - SQL - Toolkit și ORM - cadru pentru limbajul de programare Python cu scopul de a neechilibra impedanța relațională obiect-obiect în modul în care hibernează Java pentru a înconjura. SQLAlchemy a fost lansat în februarie 2006.
SQLAlchemy oferă o serie de modele de proiectare pentru persistența eficientă a datelor într-o bază de date relațională . Motivația din spatele SQLAlchemy se bazează pe faptul că bazele de date SQL sunt mai puțin similare cu colecțiile de obiecte, cu cât stocul de date este mai extins și este necesară mai multă putere, în timp ce colecțiile de obiecte se comportă mai puțin ca relațiile și tuplurile, cu atât este mai abstractizată între reprezentarea datelor și -lume. Prin urmare, SQLAlchemy urmează în principal un model de mapare de date în loc de ceea ce este cunoscut sub numele de model de înregistrare activ . Pluginurile opționale permit alte modele, de ex. B. cu Elixir o sintaxă declarativă.
exemplu
Crearea unei relații M: N (autor) între carte și autor (fără 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)
Baze de date acceptate
SQLAlchemy acceptă o varietate de sisteme de gestionare a bazelor de date :
- Informix IDS
- DB2
- Burniță
- Firebird
- SAP MaxDB
- Microsoft Access
- Microsoft SQL Server
- MySQL
- Baza de date Oracle
- PostgreSQL
- SQLite
- Sybase ASE
Vezi si
literatură
- Mark Ramm, Michael Bayer: SQLAlchemy: Acces la baze de date folosind Python , Addison-Wesley , 2010, ISBN 9780132364676
- 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