SQLAlchemy
| SQLAlchemy | |
|---|---|
| Grundläggande information
| |
| Aktuell version | 1.3.18 (25 juni 2020) |
| operativ system | plattformsoberoende |
| programmeringsspråk | pytonorm |
| kategori | ORM |
| Licens | MIT-licens |
| www.sqlalchemy.org | |
SQLAlchemy är en öppen källkod - SQL - Toolkit och ORM - Framework för programmeringsspråket Python i syfte att inte matcha objektrelationell impedans i vägen för Java's Hibernate att kringgå. SQLAlchemy släpptes i februari 2006.
SQLAlchemy erbjuder ett antal designmönster för effektiv uthållighet av data i en relationsdatabas . Motivationen bakom SQLAlchemy är baserad på det faktum att SQL-databaser liknar objektsamlingar ju mer omfattande datalagret och desto mer kraft krävs, medan objektsamlingar beter sig som relationer och tuplar, desto mer abstraheras mellan datarepresentation och mini -värld. Därför följer SQLAlchemy främst ett datakartmönster istället för det som kallas ett aktivt postmönster. Valfria plugins tillåter ytterligare mönster, t.ex. B. med Elixir en deklarativ syntax.
exempel
Skapande av ett M: N-förhållande (författarskap) mellan bok och författare (utan 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)
Databaser som stöds
SQLAlchemy stöder en mängd olika databashanteringssystem :
- Informix IDS
- DB2
- Dugga
- eldfågel
- SAP MaxDB
- Microsoft Access
- Microsoft SQL Server
- MySQL
- Oracle-databas
- PostgreSQL
- SQLite
- Sybase ASE
Se även
litteratur
- Mark Ramm, Michael Bayer: SQLAlchemy: Databasåtkomst med 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