Analise as sentenças a seguir sobre Mapeamento Objeto-Relaci...

Próximas questões
Com base no mesmo assunto
Q3504267 Programação
Analise as sentenças a seguir sobre Mapeamento Objeto-Relacional utilizando o ORM SQLAlchemy e Python e marque a opção correta.
Alternativas

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