SQLALchemy es una librería utilizada para interactuar con una gran variedad de bases de datos, permite la creación de modelos de datos y consultas que se verán como clases normales y sentencias de Python. Creado por Myke Bayer in 2005, SQLAlchemy es utilizada por muchas compañias, y es considerados por muchos la manera de facto de como trabajar con bases de datos relacionales en Python.

SQLAlchemy es utilizado para trabajar con las bases de datos más comunes como Postgres, MySQL, SQLite y Oracle, entre otros. También proporciona la manera de brindar soporte a otras bases de datos relacionales. 

¿Por que utilizar SQLAlchemy?

La principal razón para utilizar SQLAlchemy es abstraer el código de la base de datos y de las peculiaridades relacionadas a SQL. SQLAlchemy utiliza un conjunto de sentencias y tipos de datos para asegurarse de que sus sentencias SQL sean creadas en forma adecuada y eficiente para cada base de datos sin necesidad de tener que pensar en eso. Esto hace fácil migrar la lógica de Oracle a PostgreSQL y de una aplicación de base de datos a un data warehouse. 

SQLAlchemy proporciona flexibilidad mediante: SQL Expression y ORM (Mapeo Objeto-Relacional). Estas pueden ser utilizadas en forma separada o en forma conjunta dependiendo de las necesidades de la aplicación.

SQLAlchemy Core y SQL Expression Language

SQL Expression Language es la forma en Python de representar las sentencias y expresiones SQL, y es una abstracción del lenguaje SQL. Se centra en el equema de base de datos actual; sin embargo, esta estandarizado de una forma que proporciona un lenguaje concistente a tráves de diferentes bases de datos. SQL Expression Language también es la base para SQLAlchemy ORM.

Mapeo Objeto Relacional

El ORM de SQLAlchemy es similar a muchos otros ORMs que pueden existir en otros lenguajes. Se centra en el modelo de dominio de la aplicación y aprovecha el patrón de la Unidad de trabajo para mantener el estado del objeto. También proporciona una abstracción de alto nivel sobre el SQL Expression Language, que permite al usuario trabajar de una manera más idiomática. Se puede mezclar y combinar el uso del ORM con el SQL Expression Language para generar aplicaciones potentes. El ORM aprovecha un sistema declarativo que es similar a los sistemas de registro activo utilizados por muchos otros ORMs como el de Ruby on Rails.


Puede revisar más información en SQLAlchemy.

SQLAlchemy: Python y las bases de datos
Si te gusto, comparte ...Share on email
Email
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
Linkedin
Share on google
Google
Etiquetado en:    

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Facebook