Analise as sentenças a seguir sobre Mapeamento Objeto-Relaci...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C
Tema central da questão:
A questão trata sobre Mapeamento Objeto-Relacional (ORM) usando o SQLAlchemy em Python, um dos frameworks mais utilizados para integrar bancos de dados relacionais com aplicações Python de maneira fácil, utilizando classes e objetos Python para manipular dados persistidos nas tabelas do banco.
Resumo teórico:
O SQLAlchemy permite que você escreva instruções SQL em Python por meio de objetos e métodos, facilitando o trabalho com bancos de dados sem escrever SQL puro. O recurso central é a conversão de classes Python em tabelas de banco de dados e vice-versa (ORM). O método select() gera uma consulta SELECT no formato de objetos Python, permitindo métodos encadeados como where(), order_by() e group_by() para refinar consultas.
Fundamentação:
De acordo com a documentação oficial do SQLAlchemy, a instrução select() recebe entidades como parâmetros e permite construção progressiva da query com métodos como where() (para cláusulas de filtro).
Justificativa da alternativa correta (C):
A alternativa C descreve corretamente o funcionamento do select() no SQLAlchemy, mencionando que ele retorna um objeto Select e que as entidades e expressões são passadas posicionalmente. Também explica o uso dos métodos adicionais como where(), que realmente fazem parte dessa construção.
Análise das alternativas incorretas:
A: A classe base geralmente utilizada é chamada Base (criada por declarative_base()), e não BaseModel. Portanto, há um erro conceitual no nome da classe, o que pode confundir.
B: A Engine cria conexões com o banco, mas quem gerencia sessões e reutilização de conexões é a Session. A Engine não mantém a conexão aberta dentro de uma sessão.
D: Não existe a cláusula parameter_by no SQLAlchemy. As funções order_by() e group_by() são aplicadas diretamente aos atributos, não necessitando dessa cláusula fictícia.
Estratégia de interpretação:
Busque termos técnicos corretos e desconfie de nomes que não existem na documentação (ex: parameter_by ou BaseModel). Dê preferência às alternativas que descrevem processos e métodos reconhecidos, como select().where().
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
Karlaio, essa salada exige uma grande produção de conhecimento x pratica.
Esta opção descreve corretamente a sintaxe moderna (estilo 2.0) do SQLAlchemy:
- : Cria a construção do comando.
- Argumentos posicionais: Você passa as colunas ou classes (entidades) que quer buscar dentro do .
- : Método encadeado para filtrar (o equivalente ao do SQL).
- Há, SQLAIchemy é biblioteca de banco de dados porpular para Python, função principal atuar como ORM(Mapeamento Objeto-Relacional).
- permite que você troque de banco (ex: sair do MySQL e ir para o PostgreSQL) mudando apenas uma linha de configuração, sem precisar reescrever o código todo.
Uma especie de TdataSet, como existe no delphi FireDAC, dbExpress ou o antigo BDE Module/dataset= Tipo de banco de dados.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo