Questão de Banco de Dados — Documentos (MongoDB e CouchDB) — FGV 2023
- Código
- fg161179
- Banca
- FGV
- Órgão
- SEFAZ MT
- Ano
- 2023
- Cargo
- FTE ( )
- ACluster.
- BCollection.
- CDatabase.
- DDocument.
- EIndex.
GabaritoB — Collection.
Gabarito: letra B. No MongoDB, a collection (coleção) é o elemento que mais se assemelha à tabela do modelo relacional, pois agrupa documentos — que, por sua vez, correspondem às linhas (tuplas) de uma tabela. Essa analogia é recorrente na documentação oficial e em materiais didáticos sobre o MongoDB.
O MongoDB é um banco de dados NoSQL orientado a documentos. Isso significa que, em vez de armazenar dados em tabelas com linhas e colunas fixas (como no modelo relacional), ele armazena documentos — estruturas de dados compostas por pares campo:valor (ou chave:valor), semelhantes a objetos JSON. Esses documentos são agrupados em coleções, que funcionam como contêineres lógicos para documentos relacionados.
A analogia com o modelo relacional é direta e muito cobrada em provas:
Modelo Relacional | MongoDB |
|---|---|
Tabela | Coleção |
Linha (tupla) | Documento |
Coluna (atributo) | Campo (chave) |
Chave primária | Campo |
Essa correspondência é essencial para entender a estrutura do MongoDB. Enquanto em um banco relacional a tabela tem um esquema rígido (todas as linhas têm as mesmas colunas), no MongoDB os documentos de uma mesma coleção não precisam ter os mesmos campos — o esquema é flexível. Isso dá grande liberdade de modelagem, mas exige cuidado na hora de garantir a integridade dos dados.
Na prática, quando você cria uma coleção chamada clientes, por exemplo, pode inserir documentos com estruturas diferentes: um com {nome: "João", idade: 30} e outro com {nome: "Maria", email: "[email protected]"}. Ambos pertencem à mesma coleção, mesmo tendo campos distintos. Essa flexibilidade é uma das grandes diferenças em relação ao modelo relacional.
A banca explora justamente essa analogia: quem conhece a estrutura do MongoDB sabe que coleção é o equivalente a tabela, e documento é o equivalente a linha. As demais alternativas (cluster, database, index) são elementos importantes, mas não têm essa correspondência direta com a tabela relacional.
Guarde essa relação: coleção ↔ tabela e documento ↔ linha. É exatamente nela que as alternativas se dividem.
Cluster refere-se a um conjunto de servidores que trabalham juntos para garantir escalabilidade e alta disponibilidade. No MongoDB, um cluster pode conter vários bancos de dados e coleções, mas não tem correspondência com a tabela relacional. É um conceito de infraestrutura, não de modelagem de dados.
A collection (coleção) é o agrupamento de documentos no MongoDB e é diretamente análoga à tabela do modelo relacional. Assim como uma tabela armazena linhas, uma coleção armazena documentos. Essa é a definição clássica e amplamente difundida.
Database (banco de dados) é o contêiner de mais alto nível no MongoDB, que agrupa coleções. No modelo relacional, o banco de dados também agrupa tabelas, mas a correspondência mais próxima de uma tabela é a coleção, não o banco como um todo.
Document (documento) é o equivalente à linha (tupla) de uma tabela relacional, não à tabela em si. Cada documento é um registro individual, composto por pares campo:valor. A banca pode tentar confundir o candidato aqui, mas a analogia correta é documento ↔ linha.
Index (índice) é uma estrutura auxiliar que melhora a performance de consultas, tanto no MongoDB quanto nos bancos relacionais. Não tem relação com a estrutura de armazenamento dos dados, mas sim com a otimização de acesso. Não é análogo a uma tabela.
A banca troca os papéis: documento é o equivalente a linha, não a tabela. Muitos candidatos marcam a letra D por associarem documento a tabela, mas a correspondência correta é coleção ↔ tabela e documento ↔ linha. Fique atento a essa inversão clássica.
Para fixar, lembre-se do par: coleção = tabela e documento = linha. Sempre que a questão perguntar sobre a estrutura do MongoDB, faça essa associação mental antes de responder.
Gabarito: letra B
Link permanente: /questoes/fg161179