Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — Quadrix 2024

Banco de DadosPostgreSQL
Código
qg354208
Banca
Quadrix
Órgão
IBICT
Ano
2024
Nível
Superior
Cargo
Tecnologista - Tecnologia da Informação
Acerca dos Sistemas Gerenciadores de Banco de Dados (SGBDs) MySQL e PostgreSQL, do Solr e do MongoDB, julgue o item.O cenário mais indicado para se utilizar o MongoDB configura‑se quando relacionamentos entre diversas entidades são importantes para o sistema, ou seja, no caso de haver a necessidade de se empregar muitas chaves estrangeiras e JOINs.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

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”.

MongoDB e o cenário de relacionamentos entre entidades

Gabarito: ERRADO. O MongoDB é um banco NoSQL orientado a documentos, projetado para cenários em que a modelagem relacional tradicional — com muitas chaves estrangeiras e JOINs — é evitada ou minimizada. A afirmação inverte a lógica: relacionamentos intensos entre entidades são justamente o caso de uso dos bancos relacionais (como MySQL e PostgreSQL), não do MongoDB.

O MongoDB é um SGBD NoSQL do tipo orientado a documentos. Em vez de tabelas com linhas e colunas rigidamente definidas, ele armazena dados em documentos (formato BSON, similar ao JSON), organizados em coleções. Essa estrutura permite alta flexibilidade de esquema, escalabilidade horizontal e desempenho em operações de leitura/escrita em grandes volumes de dados não estruturados ou semiestruturados.

A grande diferença entre bancos relacionais e NoSQL está na forma de modelar e consultar os dados. Nos relacionais, a normalização e a integridade referencial (chaves estrangeiras) são centrais, e as consultas frequentemente combinam várias tabelas por meio de JOINs. No MongoDB, o modelo de documentos favorece a desnormalização: dados relacionados costumam ser embutidos em um mesmo documento (embedded documents) ou referenciados por IDs, mas sem a rigidez das chaves estrangeiras e sem a necessidade de JOINs complexos. O próprio MongoDB oferece o operador $lookup para simular JOINs, mas seu uso é desencorajado em favor de um design que evite relacionamentos profundos.

Portanto, o cenário descrito no item — "relacionamentos entre diversas entidades são importantes" e "necessidade de empregar muitas chaves estrangeiras e JOINs" — é exatamente o oposto do que o MongoDB busca otimizar. Esse cenário é típico de bancos relacionais, como MySQL e PostgreSQL, que possuem suporte nativo a chaves estrangeiras e JOINs eficientes.

A pegadinha da banca está em inverter o perfil de uso: o candidato que sabe que o MongoDB é NoSQL pode ser induzido a acreditar que ele é adequado para relacionamentos complexos, quando na verdade a escolha do MongoDB se justifica justamente quando o modelo relacional é um obstáculo (alta escalabilidade, dados sem esquema fixo, etc.).

Critério

MongoDB (NoSQL)

MySQL / PostgreSQL (Relacional)

Modelo de dados

Documentos BSON (JSON-like) em coleções

Tabelas com linhas e colunas, esquema rígido

Relacionamentos entre entidades

Desnormalização: dados embutidos ou referências por ID; $lookup para simular JOINs (uso desencorajado)

Normalização com chaves estrangeiras e JOINs nativos e eficientes

Cenário ideal

Grandes volumes de dados não estruturados/semiestruturados, alta escalabilidade horizontal, esquema flexível

Sistemas com muitos relacionamentos, integridade referencial e consultas complexas entre tabelas

Suporte a chaves estrangeiras

Não possui (apenas referências manuais)

Suporte nativo e enforcement de integridade referencial

Item — ❌ ERRADO

A afirmação está incorreta porque atribui ao MongoDB um cenário que é típico dos bancos relacionais. O MongoDB é orientado a documentos e não foi projetado para gerenciar relacionamentos complexos com muitas chaves estrangeiras e JOINs; pelo contrário, seu modelo favorece a desnormalização e o embutimento de dados relacionados. O uso de muitas chaves estrangeiras e JOINs é característica de SGBDs relacionais, como MySQL e PostgreSQL, que possuem suporte nativo a esses recursos.

Gabarito: ERRADO

Link permanente: /questoes/qg354208