Desenvolvido para a linguagem de programação Python, o SQLAlchemy é um framework de mapeamento objeto-relacional SQL (ORM) de código aberto sobre a licença MIT.
Mas afinal, o que é o ORM?
Mapeamento objeto-relacional ou simplesmente ORM é uma técnica de programação que auxilia na conversão de dados entre banco de dados relacionais e linguagens de programação que são orientadas à objetos.
A utilização deste Framework faz com que o programador reduza a programação de acesso ao banco de dados, desta forma, obtendo uma produtividade significativa no desenvolvimento de suas aplicações.
Ou seja, ORM trata-se de um Framework que visa auxiliar na redução da impedância, realizando todas as conversões necessárias entre o modelo relacional e o modelo orientado a objetos de maneira automática, geralmente da seguinte forma:
- Cada classe é interpretada com uma tabela;
- Cada linha de uma determinada tabela, junto com seu relacionamento é tratada como instância do objeto relacionado à tabela em questão.
Sua utilização também visa retirar a necessidade do desenvolvedor de software em se preocupar com a linguagem SQL (geração dos comandos SQL) e com as conversões necessárias entre os diferentes tipos de dados, já que tudo isto fica a cargo do Framework ORM.
Conseguimos utilizar banco de dados relacionais por meio de objetos escritos em Python, não se preocupando em como este BD está funcionando (relações, campos, etc), apenas mapeando sua estrutura.
Curso Python - SQLAlchemy ORM
Conhecer o cursoVoltando ao SQLAlchemy…
Lançado em fevereiro de 2006 tendo como autor Michael Bayer, o SQLAlchemy encontra-se na versão 1.3.6 liberada em 21 de julho de 2019. É um Framework multiplataforma que rapidamente se tornou umas das ferramentas de mapeamento objeto-relacional mais utilizada na comunidade Python, linguagem para qual foi desenvolvida.
O SQLAlchemy é um ORM completo, criado com Python para desenvolvedores de aplicativos, que fornece flexibilidade total do SQL, obtendo um conjunto completo de padrões de persistência de nível corporativo bem conhecidos, que são projetados para acesso a banco de dados eficientes e de alto desempenho.
Com ele, o desenvolvedor não necessita se preocupar com a utilização de códigos SQL no desenvolvimento de aplicações, já que todo acesso ao banco de dados é feito utilizando código Python.
Além disso, o SQLAlchemy possui todas as garantias de segurança necessárias para proteger as aplicações de ataques ao seus bancos de dados, garantindo, assim, a criação de aplicativos simples e seguros.
Aqui no blog possuímos um artigo sobre [“Principais tipos de ataques a aplicações web“](https://www.treinaweb.com.br/blog/principais-tipos-de-ataques-a-aplicacoes-web/ ““Principais tipos de ataques a aplicações web”“).
Exemplos de consultas com SQLAlchemy
Como dito anteriormente, com o SQLAlchemy não precisamos nos preocupar com a criação de códigos SQL, já que tudo é feito inteiramente utilizando Python tornando, assim, a aplicação mais simples, como podemos ver nos exemplos abaixo:
Consulta de dados:
alldata = session.query(Filme).all()
O código acima pode ser convertido na seguinte instrução SQL:
SELECT * FROM Filme
Inserção de dados:
f1 = Filme("Star Trek", 2009)
session.add(f1)
O código acima pode ser convertido na seguinte instrução SQL:
INSERT INTO Filme (nome, ano) VALUES ("Star Trek", 2009)
Com isso, podemos ver o quão simples e legível se torna nosso código, não misturando comandos SQL com código Python e mantendo a leitura muito mais eficiente.
Maiores informações sobre sua documentação, download e notícias podem ser encontradas no próprio site do SQLAlchemy.