SQLAlchemy
SQLAlchemy este o bibliotecă de programare Python pentru lucrul cu sisteme de gestionare a bazelor de date relaționale folosind tehnologia ORM . Folosit pentru sincronizarea obiectelor Python și a înregistrărilor de baze de date relaționale. SQLAlchemy vă permite să descrieți structurile bazei de date și cum să interacționați cu acestea în Python fără a utiliza SQL [6] . Biblioteca a fost lansată în februarie 2006 sub licența open source MIT [7] .
Funcționează back-end pentru baze de date: MySQL , PostgreSQL , SQLite , Oracle și altele, [8] între care puteți comuta prin schimbarea configurației [6] .
Caracteristici cheie
- Utilizarea unui ORM este opțională
- Arhitectura consacrată
- Abilitatea de a utiliza SQL scris de mână
- Suport pentru tranzacții
- Crearea de interogări folosind funcții și expresii Python
- Modularitate și extindere
- Capacitate suplimentară de a defini separat maparea obiectelor și clasele
- Suport pentru indici compoziți
- Sprijin pentru relațiile dintre clase, inclusiv unu-la-mulți și mulți-la-mulți
- Suport pentru obiecte cu auto-referință
- Prelucrarea preliminară și ulterioară a datelor (parametri de interogare, rezultat)
si altele [9] .
Beneficiile utilizării
Utilizarea SQLAlchemy pentru a genera automat cod SQL are mai multe avantaje față de scrierea manuală a SQL [10] :
- Siguranță. Parametrii de interogare sunt evadați, ceea ce face ca atacurile cu injecție SQL să fie mai puțin probabile.
- Performanţă. Este mai probabil ca interogarea serverului de bază de date să fie reutilizată, ceea ce îi poate permite să aplice din nou planul de execuție a interogării în unele cazuri .
- Portabilitate . SQLAlchemy, cu abordarea corectă, vă permite să scrieți cod Python care este compatibil cu mai multe DBMS back-end. În ciuda standardizării limbajului SQL, există diferențe în implementarea acestuia între bazele de date, de la care SQLAlchemy ajută la abstracție.
Exemplu
Cel mai simplu exemplu folosind SQLAlchemy în RAM:
>>> din sqlalchemy import create_engine
>>> engine = create_engine ( 'sqlite:///:memory:' )
>>> motor . execute ( „selectați „Bună ziua, lume!”” ) . scalar ()
„Bună, lume!”
Aplicații și analogi
SQLAlchemy este utilizat în cadrele web TurboGears , Pylons , Pyramid , Zope [11] . De exemplu, celebrul site de știri sociale Reddit este construit folosind SQLAlchemy [1] . O listă a organizațiilor care utilizează SQLAlchemy poate fi găsită pe site-ul web al proiectului [12] .
SQLAlchemy are mai mulți analogi, inclusiv: SQLObjectși Storm.
Note
- ↑ 12 Biblioteca tehnică AIX și UNIX, Folosind SQLAlchemy . Consultat la 26 iunie 2009. Arhivat din original pe 2 aprilie 2012. (nedefinit)
- ↑ Proiectul sqlalchemy Open Source pe Open Hub: Pagina de limbi - 2006.
- ↑ Versiunea 1.4.42 - 2022.
- ↑ http://www.sqlalchemy.org/download.html
- ↑ Proiectul sqlalchemy Open Source pe Open Hub: Pagina de licențe - 2006.
- ↑ 1 2 Ziade, 2008 , p. 154-155.
- ↑ PyCon 2007 Wrapup Arhivat pe 21 octombrie 2012 la Wayback Machine , SQLAlchemy a lansat 0.1.0 în februarie 2006 — O'Reilly Media
- ↑ SQLAlchemy Documentation, Engine Configuration (downlink) . Data accesului: 30 iulie 2012. Arhivat din original pe 15 iunie 2012. (nedefinit)
- ↑ Caracteristici SQLAlchemy . Data accesului: 30 iulie 2012. Arhivat din original pe 15 iunie 2012. (nedefinit)
- ↑ Copeland, 2008 , p. cincisprezece.
- ↑ SQLAlchemyDA - un nou adaptor de bază de date unificată pentru Zope 2 . Preluat la 4 august 2012. Arhivat din original la 30 mai 2008. (nedefinit)
- ↑ SQLAlchemy . Preluat la 22 octombrie 2019. Arhivat din original la 3 noiembrie 2019. (nedefinit)
Link -uri
Literatură
- Rick Copeland. SQLAlchemy esențială. - O'Reilly Media., 2008. - 215 p. - ISBN 0-596-51614-2 .
- Tarek Ziade. Expert programare Python. - Packt Publishing Ltd., 2008. - 372 p. — ISBN 978-1-847194-94-7 .
Piton |
---|
Comunitate |
|
---|
Implementări |
|
---|
Alte |
|
---|