Questão de Banco de Dados — Conceitos Gerais de NoSQL — FGV 2024
Banco de Dados›Conceitos Gerais de NoSQL
Código
fg165272
Banca
FGV
Órgão
TCE PA
Ano
2024
Cargo
Aud CE (TCE-PA)
Sobre banco de dado NoSQL orientado a grafos, avalie se as afirmativas a seguir são falsas (F) ou verdadeiras (V).
I. Se compararmos com um banco de dados relacional, os nós de um grafo correspondem às colunas de uma tabela.
II. As operações de junção nesse tipo de banco são frequentemente mais eficientes do que em bancos de dados relacionais, pois utilizam chaves estrangeiras para realizar o relacionamento entre os nós.
III. Diferentemente dos outros tipos de banco de dados NoSQL, bancos orientados a grafos não são próprios para se trabalhar com um grande volume de dados.
As afirmativas são, respectivamente,
AV – F – F.
BF – V – F.
CF – F – V.
DV – F – V.
EF – F – F.
Revelar gabarito e comentário▾
GabaritoE — F – F – F.
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 — sequência F – F – F. As três afirmativas estão incorretas: os nós de um grafo correspondem às linhas (registros) de uma tabela relacional, não às colunas; as operações de junção em bancos de grafos são eficientes porque usam arestas (relacionamentos) que apontam diretamente para os nós, não chaves estrangeiras; e bancos orientados a grafos são próprios para grandes volumes de dados, sendo amplamente usados em cenários de Big Data.
O modelo de dados orientado a grafos é um dos quatro grandes tipos de bancos NoSQL, ao lado dos modelos chave-valor, orientado a documentos e orientado a colunas. Sua estrutura é composta por três elementos fundamentais: nós (vértices), relacionamentos (arestas) e propriedades (atributos) que podem ser associados tanto aos nós quanto aos relacionamentos. Essa modelagem é especialmente adequada para representar dados altamente conectados, como redes sociais, sistemas de recomendação, detecção de fraudes e grafos de conhecimento.
A principal diferença em relação ao modelo relacional é que, enquanto o relacional organiza os dados em tabelas com linhas e colunas e usa chaves estrangeiras para relacionar tabelas (exigindo operações de junção — JOIN — que percorrem índices e comparam valores), o modelo de grafos armazena os relacionamentos como arestas físicas que apontam diretamente para os nós. Isso torna a navegação entre entidades relacionadas muito mais rápida, pois não há necessidade de realizar junções computacionalmente custosas: o relacionamento já está materializado no banco.
Vamos analisar cada afirmativa em detalhe, corrigindo os conceitos e mostrando por que todas são falsas.
Modelo de grafos vs. relacional: Entidade (Relacional: linha (registro), Grafo: nó (vértice)); Atributo (Relacional: coluna, Grafo: propriedade); Relacionamento (Relacional: chave estrangeira + JOIN, Grafo: aresta (aponta direto)); Navegação (Relacional: JOIN (custo alto), Grafo: percorrer arestas (custo baixo))
Item I — ❌ Falso
A afirmativa diz que "os nós de um grafo correspondem às colunas de uma tabela". Isso está errado. Em um banco de dados relacional, uma tabela é composta por linhas (registros) e colunas (atributos). Os nós de um grafo representam entidades — como pessoas, produtos, cidades — que, no modelo relacional, correspondem a linhas (registros) de uma tabela. As colunas, por sua vez, representam os atributos dessas entidades, que no modelo de grafos são as propriedades dos nós. Portanto, a correspondência correta é: nó ↔ linha (registro); propriedade ↔ coluna (atributo).
Item II — ❌ Falso
A afirmativa diz que "as operações de junção nesse tipo de banco são frequentemente mais eficientes do que em bancos de dados relacionais, pois utilizam chaves estrangeiras para realizar o relacionamento entre os nós". Há dois erros aqui. Primeiro, a eficiência das junções em bancos de grafos se deve ao uso de arestas (relacionamentos) que apontam diretamente para os nós, e não de chaves estrangeiras. Segundo, o conceito de chave estrangeira é próprio do modelo relacional, não do modelo de grafos. Em um banco de grafos, o relacionamento entre dois nós é representado por uma aresta, que pode ter propriedades próprias e é navegada diretamente, sem necessidade de operações de junção. Portanto, a afirmativa está duplamente incorreta.
Item III — ❌ Falso
A afirmativa diz que "diferentemente dos outros tipos de banco de dados NoSQL, bancos orientados a grafos não são próprios para se trabalhar com um grande volume de dados". Isso é falso. Bancos de dados orientados a grafos são perfeitamente capazes de lidar com grandes volumes de dados, sendo amplamente utilizados em aplicações de Big Data e em cenários que exigem análise de relacionamentos complexos em escala. Exemplos como Neo4j, Amazon Neptune e JanusGraph são projetados para escalar horizontalmente e processar trilhões de relacionamentos. A escalabilidade é uma característica geral dos bancos NoSQL, incluindo os orientados a grafos.
NÃO CAIA NESSA!
A banca explora a confusão entre os conceitos de nós e colunas, e entre arestas e chaves estrangeiras. No modelo relacional, a chave estrangeira é um mecanismo para relacionar tabelas; no modelo de grafos, o relacionamento é uma aresta que conecta diretamente dois nós. Lembre-se: nó = linha, propriedade = coluna, aresta = relacionamento.
PEGA ESSA DICA!
Para fixar, compare os dois modelos:
Conceito
Relacional
Grafos
Entidade
Linha (registro)
Nó (vértice)
Atributo
Coluna
Propriedade
Relacionamento
Chave estrangeira + JOIN
Aresta (relacionamento)
Navegação
JOIN (custo alto)
Percorrer arestas (custo baixo)
Conclusão: As três afirmativas são falsas, portanto a sequência correta é F – F – F, correspondente à letra E.