Questão de Banco de Dados — Banco de Dados — FGV 2024
Banco de Dados›Banco 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:
AOLAP;
BRelacional;
CIndexado;
DMatricial;
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.