Pular para o conteúdo principal

Questão de Banco de Dados — Grafos (Neo4j) — INSTITUTO AOCP 2025

Banco de DadosGrafos (Neo4j)
Código
qa699131
Banca
INSTITUTO AOCP
Órgão
UFABC
Ano
2025
Cargo
Téc ( )
Um Técnico de Tecnologia da Informação da UFABC está desenvolvendo uma aplicação para gerenciamento de relacionamentos complexos entre alunos, professores e disciplinas. Ele precisa armazenar e consultar de forma eficiente conexões como “alunos que cursaram disciplinas com o mesmo professor” ou “professores que possuem coautoria em projetos de pesquisa”. Para essa necessidade, será utilizado um banco de dados NoSQL orientado a grafos, ideal para modelar e consultar relações. Qual das alternativas a seguir apresenta o banco de dados que atende a essa necessidade?
  1. ARedis.
  2. BMongoDB.
  3. CScyllaDB.
  4. DApache Cassandra.
  5. ENeo4j.
Revelar gabarito e comentário

GabaritoE — Neo4j.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Banco de Dados NoSQL: orientado a grafos

Gabarito: letra E. O Neo4j é o banco de dados NoSQL orientado a grafos, exatamente o modelo que representa entidades como nós e relacionamentos como arestas, ideal para consultar conexões complexas como as descritas no enunciado (alunos, professores, disciplinas e coautorias). Os demais bancos citados pertencem a outros modelos NoSQL ou são relacionais.

O enunciado descreve uma necessidade clássica de banco de dados orientado a grafos: modelar e consultar relações complexas entre entidades. Nesse modelo, os dados são organizados em três componentes básicos: nós (vértices, que representam as entidades, como alunos, professores e disciplinas), relacionamentos (arestas, que representam as conexões entre os nós, como "cursou" ou "coautor de") e propriedades (atributos dos nós e dos relacionamentos). O grafo é rotulado e direcionado, permitindo que cada par de nós seja conectado por mais de uma aresta, o que reflete a multiplicidade de relações do mundo real.

A grande vantagem desse modelo é que os dados são armazenados uma vez e podem ser interpretados de diferentes formas com base nos relacionamentos. Por exemplo, para responder "alunos que cursaram disciplinas com o mesmo professor", basta percorrer o grafo seguindo as arestas que ligam alunos a disciplinas e disciplinas a professores, sem a necessidade de múltiplas junções (joins) como em bancos relacionais. Isso torna as consultas de relacionamento muito mais eficientes e naturais.

Os bancos de dados NoSQL são classificados em quatro grandes modelos: chave-valor, orientado a documentos, orientado a colunas e orientado a grafos. Cada um atende a diferentes necessidades. O modelo de grafos é o único que não pode ser representado adequadamente no formato tradicional de linhas e colunas, pois sua essência está nas conexões entre os dados. Exemplos de bancos de grafos incluem o Neo4j, AllegroGraph e Virtuoso.

A banca explora exatamente a confusão entre os modelos NoSQL: o candidato pode saber que todos os bancos listados são NoSQL, mas não saber qual é o modelo de cada um. A pegadinha está em associar o Neo4j ao modelo de grafos, enquanto os demais pertencem a outros modelos (Redis é chave-valor, MongoDB é documentos, Cassandra e ScyllaDB são colunas).

Guarde a classificação de cada banco: é ela que separa as alternativas. Vamos analisar cada uma.

1Chave-valor
Redis
DynamoDB
2Documentos
MongoDB
CouchDB
3Colunas
Cassandra
HBase
ScyllaDB
4Grafos
Neo4j
AllegroGraph
Virtuoso
Modelos NoSQL
LEVELsoulevel.com.br
Modelos NoSQL: Chave-valor (Redis, DynamoDB); Documentos (MongoDB, CouchDB); Colunas (Cassandra, HBase, ScyllaDB); Grafos (Neo4j, AllegroGraph, Virtuoso)

Alternativa A — ❌ Incorreta

O Redis é um banco NoSQL do tipo chave-valor, não orientado a grafos. Ele armazena dados como pares de chave e valor, com acesso rápido pela chave, mas não é projetado para modelar e consultar relacionamentos complexos entre entidades. A necessidade descrita no enunciado exige um modelo de grafos.

Alternativa B — ❌ Incorreta

O MongoDB é um banco NoSQL do tipo orientado a documentos. Ele armazena dados em documentos (geralmente JSON/BSON), com esquema flexível, mas não é adequado para consultas de relacionamento profundo como as descritas. Embora seja NoSQL, o modelo de documentos não é o de grafos.

Alternativa C — ❌ Incorreta

O ScyllaDB é um banco NoSQL do tipo orientado a colunas (compatível com Apache Cassandra). Ele é otimizado para alta escalabilidade e escrita intensiva, mas não para modelar relacionamentos complexos entre entidades. O modelo de colunas organiza os dados em famílias de colunas, não em nós e arestas.

Alternativa D — ❌ Incorreta

O Apache Cassandra também é um banco NoSQL do tipo orientado a colunas. Assim como o ScyllaDB, é projetado para escalabilidade horizontal e alta disponibilidade, mas não para consultas de grafos. A modelagem em colunas não representa naturalmente as relações entre alunos, professores e disciplinas.

Alternativa E — ✅ Correta ⟵ GABARITO

O Neo4j é o banco de dados NoSQL orientado a grafos por excelência. Ele implementa o modelo de nós, relacionamentos e propriedades, permitindo consultar conexões complexas de forma eficiente. É exatamente a ferramenta adequada para o cenário descrito: gerenciar relacionamentos entre alunos, professores e disciplinas, e responder perguntas como "alunos que cursaram disciplinas com o mesmo professor" ou "professores que possuem coautoria em projetos de pesquisa".

PEGA ESSA DICA!

Para identificar o banco de dados correto em questões como esta, associe o modelo NoSQL ao banco: chave-valor → Redis, DynamoDB; documentos → MongoDB, CouchDB; colunas → Cassandra, HBase, ScyllaDB; grafos → Neo4j, AllegroGraph, Virtuoso. Memorize essa tabela e a classificação se torna imediata.

Gabarito: letra E

Link permanente: /questoes/qa699131