SQLAlchemy - Introducción
SQLAlchemy es un popular kit de herramientas SQL y Object Relational Mapper. Esta escrito enPythony brinda plena potencia y flexibilidad de SQL a un desarrollador de aplicaciones. Es unopen source y cross-platform software lanzado bajo licencia del MIT.
SQLAlchemy es famoso por su mapeador relacional de objetos (ORM), mediante el cual, las clases se pueden mapear a la base de datos, lo que permite que el modelo de objeto y el esquema de la base de datos se desarrollen de una manera limpiamente desacoplada desde el principio.
A medida que el tamaño y el rendimiento de las bases de datos SQL comienzan a importar, se comportan menos como colecciones de objetos. Por otro lado, a medida que la abstracción en las colecciones de objetos comienza a importar, se comportan menos como tablas y filas. SQLAlchemy tiene como objetivo adaptarse a ambos principios.
Por este motivo, ha adoptado la data mapper pattern (like Hibernate) rather than the active record pattern used by a number of other ORMs. Las bases de datos y SQL se verán en una perspectiva diferente usando SQLAlchemy.
Michael Bayer es el autor original de SQLAlchemy. Su versión inicial fue lanzada en febrero de 2006. La última versión está numerada como 1.2.7, lanzada tan recientemente como en abril de 2018.
¿Qué es ORM?
ORM (Object Relational Mapping) es una técnica de programación para convertir datos entre sistemas de tipos incompatibles en lenguajes de programación orientados a objetos. Por lo general, el sistema de tipos utilizado en un lenguaje orientado a objetos (OO) como Python contiene tipos no escalares. Estos no se pueden expresar como tipos primitivos como enteros y cadenas. Por lo tanto, el programador de OO tiene que convertir objetos en datos escalares para interactuar con la base de datos backend. Sin embargo, los tipos de datos en la mayoría de los productos de bases de datos, como Oracle, MySQL, etc., son primarios.
En un sistema ORM, cada clase se asigna a una tabla en la base de datos subyacente. En lugar de escribir usted mismo el tedioso código de interfaz de la base de datos, un ORM se encarga de estos problemas por usted mientras usted puede concentrarse en programar las lógicas del sistema.
SQLAlchemy - Configuración del entorno
Analicemos la configuración ambiental necesaria para utilizar SQLAlchemy.
Se necesita cualquier versión de Python superior a 2.7 para instalar SQLAlchemy. La forma más sencilla de instalar es utilizando Python Package Manager,pip. Esta utilidad se incluye con la distribución estándar de Python.
pip install sqlalchemy
Usando el comando anterior, podemos descargar el latest released versionde SQLAlchemy de python.org e instálelo en su sistema.
En caso de distribución anaconda de Python, SQLAlchemy se puede instalar desde conda terminal usando el siguiente comando -
conda install -c anaconda sqlalchemy
También es posible instalar SQLAlchemy desde el siguiente código fuente:
python setup.py install
SQLAlchemy está diseñado para operar con una implementación DBAPI construida para una base de datos en particular. Utiliza un sistema de dialecto para comunicarse con varios tipos de implementaciones y bases de datos DBAPI. Todos los dialectos requieren que esté instalado un controlador DBAPI apropiado.
Los siguientes son los dialectos incluidos:
- Firebird
- Microsoft SQL Server
- MySQL
- Oracle
- PostgreSQL
- SQLite
- Sybase
Para verificar si SQLAlchemy está instalado correctamente y conocer su versión, ingrese el siguiente comando en el indicador de Python:
>>> import sqlalchemy
>>>sqlalchemy.__version__
'1.2.7'