Alternativa C
A questão aborda o padrão de programação para bancos de dados em Python, conhecido como DB-API 2.0 (definido no PEP 249). Este padrão estabelece uma interface comum para acessar diferentes sistemas de gerenciamento de banco de dados.
O fluxo padrão para executar operações em um banco de dados seguindo essa especificação envolve três etapas principais:
- Estabelecer a conexão com o banco (Classe
Connection). - Criar um objeto cursor (Método
cursor da Connection). - Enviar o comando SQL através do cursor (Método
execute da Cursor).
Portanto, o envio efetivo dos comandos ocorre no contexto do cursor, e não diretamente na conexão.
Analise das Alternativas
- Alternativa A (Errada): O método
commit pertence à classe Connection, mas é usado para confirmar transações (salvar alterações), não para enviar comandos gerais de consulta ou manipulação de dados. - Alternativa B (Errada): Na DB-API 2.0, a classe
Connection geralmente não possui o método execute. Ela serve apenas para gerenciar a sessão de conexão. - Alternativa C (Correta): Conforme o padrão, o método
execute deve ser invocado sobre um objeto da classe Cursor. É nele que a string SQL é passada para ser processada pelo banco. - Alternativa D (Errada): O método
commit não existe na classe Cursor; ele é exclusivo da Connection. - Alternativa E (Errada): O método
cursor cria o objeto cursor, mas ele próprio não envia comandos SQL para execução imediata.
Em resumo, a separação entre Connection (o canal de comunicação) e Cursor (o ponto de execução) é fundamental para a arquitetura definida pela DB-API 2.0.
Alternativa C.