Pular para o conteúdo principal

Questão de Banco de Dados — Banco de Dados — FGV 2024

Banco de DadosBanco de Dados
Código
fg101163
Banca
FGV
Órgão
TRF - 1ª REGIÃO
Ano
2024
Nível
Superior
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade: Governança e Gestão de Tecnologia da Informação
O Departamento de Desenvolvimento de Sistemas do TRF-1 automatizou seus processos de negócio utilizando bancos de dados em que era necessário definir o esquema a priori. Com isso, as evoluções do sistema se tornaram custosas. Para contornar esse problema, o Departamento está projetando a evolução dos seus sistemas para utilizar um banco de dados que permita a definição do esquema a posteriori conforme o dado chega, independentemente da sua estrutura.Para isso, o Departamento deve incluir no Planejamento de TI a aquisição de um banco de dados:
  1. AOLAP;
  2. BRelacional;
  3. CIndexado;
  4. DMatricial;
  5. EOrientado a grafo.
Revelar gabarito e comentário

GabaritoE — Orientado a grafo.

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: Esquema a Posteriori e Graph Databases

Gabarito: letra E. O Departamento precisa de um banco que permita definir o esquema conforme os dados chegam (esquema a posteriori). Bancos orientados a grafo (grafos) são naturalmente schema-less ou flexíveis, aceitando novos vértices, arestas e propriedades sem pré-definição rígida — exatamente o que o enunciado descreve. As demais alternativas (OLAP, relacional, indexado, matricial) ou exigem esquema prévio ou não se encaixam no cenário.

A chave da questão é entender a diferença entre schema-on-write (esquema definido antes da inserção, típico de bancos relacionais) e schema-on-read (esquema aplicado na leitura, comum em bancos NoSQL como grafos, documentos e chave-valor). O enunciado deixa claro que o sistema atual é custoso justamente por exigir esquema a priori; a solução é um banco que aceite dados sem estrutura fixa.

Esquema em bancos de dados
  • 1Schema-on-write (esquema a priori)
    • Relacional
    • OLAP
    • Indexado
    • Matricial
    • Evolução custosa
  • 2Schema-on-read (esquema a posteriori)
    • Orientado a grafo
    • Documento
    • Chave-valor
    • Evolução flexível
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

OLAP (Online Analytical Processing) é uma categoria de sistemas para análise multidimensional, geralmente construído sobre bancos relacionais ou colunares. Não é um tipo de banco de dados que permita esquema a posteriori; pelo contrário, os cubos OLAP exigem esquema estrela/floco pré-definido.

Alternativa B — ❌ Incorreta

Bancos relacionais (ex.: MySQL, PostgreSQL) possuem esquema rígido: tabelas, colunas e tipos são definidos antes da inserção dos dados. Qualquer alteração exige comandos DDL (ALTER TABLE), o que torna a evolução custosa — justamente o problema que o Departamento quer evitar.

Alternativa C — ❌ Incorreta

"Indexado" não é um modelo de banco de dados padrão. Pode se referir a índices em bancos relacionais (que ainda exigem esquema prévio) ou a estruturas de indexação. Não atende à necessidade de esquema flexível.

Alternativa D — ❌ Incorreta

"Matricial" não é um modelo de banco de dados consolidado. Talvez se refira a bancos de dados baseados em matrizes (como alguns sistemas científicos), mas ainda assim exigem definição de estrutura prévia e não são adequados para o cenário descrito.

Alternativa E — ✅ Correta ⟵ GABARITO

Bancos orientados a grafo (ex.: Neo4j, Amazon Neptune) armazenam dados como vértices (entidades) e arestas (relacionamentos), permitindo adicionar novos tipos de nós/arestas e propriedades dinamicamente. Eles não exigem esquema fixo: você define o que precisa no momento da consulta ou inserção. Isso torna a evolução do sistema muito mais barata, pois não há necessidade de reestruturar todo o banco.

PEGA ESSA DICA!

Na prova, quando o enunciado falar em "esquema a posteriori", "flexibilidade de schema", "schema-on-read" ou "evolução custosa com schema rígido", a resposta quase sempre será um banco NoSQL. Entre as opções comuns estão: orientado a documentos (MongoDB), orientado a grafos (Neo4j), chave-valor (Redis) ou colunar (Cassandra). Memorize que bancos relacionais e OLAP são o oposto dessa flexibilidade.

Gabarito: letra E.

Link permanente: /questoes/fg101163