Bancos de dados

https://farm5.staticflickr.com/4225/33907152464_a99fdcc8de_k_d.jpg

DB-API

A Python Database API (DB-API) define uma interface padrão para módulos de acesso ao banco de dados Python. Está documentado em PEP 249. Quase todos os módulos de banco de dados Python, como o sqlite3, psycopg e mysql-python, estão em conformidade com essa interface.

Podem ser encontrados tutoriais que explicam como trabalhar com módulos que estejam em conformidade com esta interface aqui e aqui.

SQLAlchemy

O SQLAlchemy é um conjunto de ferramentas de banco de dados comum. Ao contrário de muitas bibliotecas de banco de dados, ele não só fornece uma camada ORM, mas também uma API generalizada para escrever o código agnóstico do banco de dados sem SQL.

$ pip install sqlalchemy

Records

Records é uma biblioteca SQL minimalista, projetada para enviar consultas SQL cruciais para vários bancos de dados. Os dados podem ser usados programaticamente ou exportados para vários formatos de dados úteis.

$ pip install records

Também está incluída uma ferramenta de linha de comando para exportação de dados SQL.

Django ORM

O Django ORM é a interface usada pelo Django para fornecer acesso ao banco de dados.

Baseia-se na ideia de modelos, uma abstração que facilita a manipulação de dados em Python.

O básico:

  • Cada modelo é uma classe Python e que é uma subclasse de django.db.models.Model.

  • Cada atributo do modelo representa um campo de banco de dados.

  • O Django oferece uma API de acesso ao banco de dados gerada automaticamente; Making queries.

peewee

peewee é outro ORM com foco em ser leve com suporte para o Python 2.6+ e 3.2+ que suporta SQLite, MySQL e Postgres por padrão. A camada de modelo model layer é semelhante à do ORM de Django e tem métodos semelhantes a SQL SQL-like methods para consultar dados. Enquanto SQLite, MySQL e Postgres são suportados fora de linha, há uma coleção de complementos collection of add-ons acessíveis.

PonyORM

PonyORM é um ORM que adota uma abordagem diferente para consultar o banco de dados. Em vez de escrever um idioma semelhante ao SQL ou expressões booleanas, a sintaxe do gerador do Python é usada. Há também um editor de esquema gráfico que pode gerar entidades PonyORM para você. Ele suporta Python 2.6+ e Python 3.3+ e pode se conectar a SQLite, MySQL, Postgres e Oracle

SQLObject

SQLObject é mais uma ORM. Ele suporta uma grande variedade de bancos de dados: sistemas de banco de dados comuns MySQL, Postgres e SQLite e sistemas mais exóticos, como SAP DB, SyBase e MSSQL. Ele só suporta o Python 2 do Python 2.6 para cima.