Questão nº 70
Questão de Tecnologia da Informação · FGV TJ-AP 2024 (nº 70)
A equipe de sistemas do TJAP precisa analisar o papel das camadas de persistência em bancos de dados e como elas contribuem para o desenvolvimento dos sistemas.
Para tanto, com a intenção de ajudar nesse processo de análise, as camadas de persistência:
- Asão exclusivas para bancos de dados NoSQL, utilizando bibliotecas como HBase e Cassandra;
- Bproporcionam interfaces que permitem a leitura, gravação e manipulação dos dados armazenados, como JDBC e ADO.NET; (alternativa correta)
- Csão responsáveis pela interface gráfica dos sistemas de bancos de dados, usando bibliotecas como Hibernate e Entity Framework;
- Dgerenciam a persistência de dados no armazenamento e as bibliotecas SQLite e MongoDB são exemplos dessa abordagem;
- Efocam exclusivamente a otimização de consultas SQL, e bibliotecas como LINQ e Django ORM são amplamente utilizadas nesse contexto.
Resposta comentada
Gabarito Alternativa B
A camada de persistência é a parte de um sistema que se encarrega de guardar (persistir) e buscar os dados de um banco de dados, funcionando como uma ponte entre o código da aplicação e o local onde os dados são armazenados, sem que o programador precise se preocupar com os detalhes técnicos do banco.
- (A) Incorreta: As camadas de persistência não são exclusivas para bancos de dados NoSQL; elas são fundamentais para todos os tipos de bancos de dados, incluindo os relacionais (SQL). HBase e Cassandra são exemplos de bancos de dados NoSQL, não de bibliotecas de camada de persistência no sentido geral.
- (B) Correta: Esta alternativa descreve perfeitamente o papel da camada de persistência. Ela oferece uma interface (um conjunto de regras e ferramentas) para que o programa possa ler, gravar e manipular os dados no banco. JDBC (Java Database Connectivity) e ADO.NET são exemplos clássicos de APIs (Application Programming Interfaces) que implementam essa camada, permitindo que aplicações Java e .NET, respectivamente, interajam com diversos bancos de dados.
- (C) Incorreta: As camadas de persistência não têm nenhuma relação com a interface gráfica (GUI) dos sistemas. A interface gráfica é responsabilidade da camada de apresentação. Embora Hibernate e Entity Framework sejam ferramentas de persistência (ORMs), sua função é mapear objetos para o banco de dados e gerenciar a interação com ele, não criar elementos visuais. Armadilha: Esta alternativa é tentadora porque menciona ferramentas de persistência conhecidas (Hibernate, Entity Framework), mas atribui a elas uma função completamente errada (interface gráfica), que é de outra camada do sistema.
- (D) Incorreta: Esta alternativa confunde a camada de persistência com o próprio sistema de banco de dados. SQLite e MongoDB são bancos de dados (um relacional embarcado e um NoSQL de documentos, respectivamente), e não bibliotecas que implementam a camada de persistência. A camada de persistência é o software que interage com esses bancos de dados.
- (E) Incorreta: O foco principal das camadas de persistência não é exclusivamente a otimização de consultas SQL. Seu papel é fornecer uma abstração para a interação com o banco de dados (CRUD). Embora ORMs como Django ORM e ferramentas como LINQ possam auxiliar na geração de consultas e, indiretamente, na otimização, essa não é a sua única ou exclusiva função.
Fonte: FGV TJ-AP 2024 Analista Judiciário - TI - Desenvolvimento de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.