SQLAlchemy - Introdução

SQLAlchemy é um popular kit de ferramentas SQL e Object Relational Mapper. Está escrito emPythone oferece total poder e flexibilidade de SQL a um desenvolvedor de aplicativos. É umopen source e cross-platform software lançado sob licença do MIT.

SQLAlchemy é famoso por seu mapeador relacional de objeto (ORM), usando o qual as classes podem ser mapeadas para o banco de dados, permitindo assim que o modelo de objeto e o esquema do banco de dados se desenvolvam de uma maneira claramente desacoplada desde o início.

À medida que o tamanho e o desempenho dos bancos de dados SQL começam a importar, eles se comportam menos como coleções de objetos. Por outro lado, conforme a abstração em coleções de objetos começa a ter importância, elas se comportam menos como tabelas e linhas. SQLAlchemy visa acomodar esses dois princípios.

Por este motivo, adota o data mapper pattern (like Hibernate) rather than the active record pattern used by a number of other ORMs. Bancos de dados e SQL serão vistos em uma perspectiva diferente usando SQLAlchemy.

Michael Bayer é o autor original de SQLAlchemy. Sua versão inicial foi lançada em fevereiro de 2006. A versão mais recente é numerada como 1.2.7, lançada recentemente em abril de 2018.

O que é ORM?

ORM (Object Relational Mapping) é uma técnica de programação para converter dados entre sistemas de tipos incompatíveis em linguagens de programação orientadas a objetos. Normalmente, o sistema de tipos usado em uma linguagem orientada a objetos (OO) como o Python contém tipos não escalares. Eles não podem ser expressos como tipos primitivos, como inteiros e strings. Conseqüentemente, o programador OO deve converter objetos em dados escalares para interagir com o banco de dados backend. No entanto, os tipos de dados na maioria dos produtos de banco de dados, como Oracle, MySQL, etc., são primários.

Em um sistema ORM, cada classe mapeia para uma tabela no banco de dados subjacente. Em vez de escrever você mesmo um tedioso código de interface de banco de dados, um ORM cuida desses problemas para você, enquanto você pode se concentrar na programação da lógica do sistema.

SQLAlchemy - configuração do ambiente

Vamos discutir a configuração ambiental necessária para usar o SQLAlchemy.

Qualquer versão do Python superior a 2.7 é necessária para instalar o SQLAlchemy. A maneira mais fácil de instalar é usando o Python Package Manager,pip. Este utilitário está incluído na distribuição padrão do Python.

pip install sqlalchemy

Usando o comando acima, podemos baixar o latest released versionde SQLAlchemy de python.org e instale-o em seu sistema.

No caso de distribuição anaconda de Python, SQLAlchemy pode ser instalado a partir de conda terminal usando o comando abaixo -

conda install -c anaconda sqlalchemy

Também é possível instalar SQLAlchemy a partir do código-fonte abaixo -

python setup.py install

SQLAlchemy é projetado para operar com uma implementação DBAPI construída para um banco de dados específico. Ele usa um sistema de dialeto para se comunicar com vários tipos de implementações e bancos de dados DBAPI. Todos os dialetos exigem que um driver DBAPI apropriado seja instalado.

A seguir estão os dialetos incluídos -

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

Para verificar se SQLAlchemy está instalado corretamente e saber sua versão, digite o seguinte comando no prompt do Python -

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