SQLAlchemy - Introduzione

SQLAlchemy è un popolare toolkit SQL e Object Relational Mapper. È scritto in formatoPythone offre piena potenza e flessibilità di SQL a uno sviluppatore di applicazioni. È unopen source e cross-platform software rilasciato con licenza MIT.

SQLAlchemy è famoso per il suo ORM (object-relational mapper), utilizzando il quale le classi possono essere mappate al database, consentendo così al modello a oggetti e allo schema del database di svilupparsi in modo pulito e disaccoppiato dall'inizio.

Poiché le dimensioni e le prestazioni dei database SQL iniziano a essere importanti, si comportano meno come raccolte di oggetti. D'altra parte, poiché l'astrazione nelle raccolte di oggetti inizia a essere importante, si comportano meno come tabelle e righe. SQLAlchemy mira a soddisfare entrambi questi principi.

Per questo motivo ha adottato il data mapper pattern (like Hibernate) rather than the active record pattern used by a number of other ORMs. I database e l'SQL verranno visualizzati in una prospettiva diversa utilizzando SQLAlchemy.

Michael Bayer è l'autore originale di SQLAlchemy. La sua versione iniziale è stata rilasciata nel febbraio 2006. L'ultima versione è numerata come 1.2.7, rilasciata solo nell'aprile 2018.

Cos'è ORM?

ORM (Object Relational Mapping) è una tecnica di programmazione per convertire i dati tra sistemi di tipi incompatibili in linguaggi di programmazione orientati agli oggetti. Di solito, il sistema di tipi utilizzato in un linguaggio Object Oriented (OO) come Python contiene tipi non scalari. Questi non possono essere espressi come tipi primitivi come interi e stringhe. Quindi, il programmatore OO deve convertire gli oggetti in dati scalari per interagire con il database di backend. Tuttavia, i tipi di dati nella maggior parte dei prodotti di database come Oracle, MySQL e così via sono primari.

In un sistema ORM, ogni classe viene mappata a una tabella nel database sottostante. Invece di scrivere tu stesso il noioso codice di interfacciamento del database, un ORM si prende cura di questi problemi per te mentre tu puoi concentrarti sulla programmazione delle logiche del sistema.

SQLAlchemy: configurazione dell'ambiente

Parliamo della configurazione ambientale richiesta per utilizzare SQLAlchemy.

Qualsiasi versione di Python superiore alla 2.7 è necessaria per installare SQLAlchemy. Il modo più semplice per installare è utilizzare Python Package Manager,pip. Questa utility è inclusa nella distribuzione standard di Python.

pip install sqlalchemy

Utilizzando il comando precedente, possiamo scaricare il file latest released versiondi SQLAlchemy da python.org e installalo sul tuo sistema.

In caso di distribuzione anaconda di Python, SQLAlchemy può essere installato da conda terminal utilizzando il comando seguente -

conda install -c anaconda sqlalchemy

È anche possibile installare SQLAlchemy dal codice sorgente sottostante -

python setup.py install

SQLAlchemy è progettato per funzionare con un'implementazione DBAPI creata per un database particolare. Utilizza il sistema dialettale per comunicare con vari tipi di implementazioni e database DBAPI. Tutti i dialetti richiedono che sia installato un driver DBAPI appropriato.

I seguenti sono i dialetti inclusi:

  • Firebird
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • SQLite
  • Sybase

Per verificare se SQLAlchemy è installato correttamente e per conoscere la sua versione, immettere il seguente comando nel prompt di Python:

>>> import sqlalchemy
>>>sqlalchemy.__version__
'1.2.7'