Pular para o conteúdo principal

Questão de TI - Ciência de Dados e Inteligência Artificial — Modelagem Dimensional — FGV 2024

TI - Ciência de Dados e Inteligência ArtificialModelagem Dimensional
Código
fg165305
Banca
FGV
Órgão
TJ AP
Ano
2024
Cargo
AJ ( )

A técnica de modelagem de dados que impacta negativamente no desempenho das consultas de uma base multidimensional, pois aumenta a quantidade de joins, é a:

  1. Acriação de chaves substitutas;
  2. Bconformidade das dimensões;
  3. Cnão aditividade dos fatos;
  4. Ddegeneração das dimensões;
  5. Enormalização das dimensões.
Revelar gabarito e comentário

GabaritoE — normalização das dimensões.

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

Modelagem dimensional: normalização de dimensões e o impacto nos joins

Gabarito: letra E. A técnica que impacta negativamente o desempenho das consultas em uma base multidimensional, pois aumenta a quantidade de joins, é a normalização das dimensões — também chamada de snowflake schema. Ao decompor uma dimensão em várias tabelas relacionadas, cada consulta precisa percorrer múltiplos joins para recompor os atributos, degradando o desempenho. As demais alternativas (chaves substitutas, conformidade, não aditividade e degeneração) não têm esse efeito de aumentar joins — pelo contrário, algumas até os reduzem.

A modelagem dimensional é a técnica usada em data warehouses e sistemas OLAP para organizar dados em tabelas de fatos (medidas numéricas, como valor e quantidade de vendas) e tabelas de dimensões (atributos descritivos, como tempo, produto e loja). O modelo mais comum é o esquema estrela, em que cada dimensão é uma única tabela desnormalizada, ligada à tabela de fato por uma única junção. Esse desenho é pensado para que as consultas analíticas sejam rápidas: basta um join por dimensão para filtrar, agrupar e agregar.

A normalização de dimensões é o processo de aplicar as formas normais (1FN, 2FN, 3FN) às tabelas de dimensão, eliminando redundâncias e dependências funcionais. Isso gera o chamado esquema floco de neve (snowflake), em que uma dimensão é dividida em várias tabelas hierárquicas. Por exemplo, em vez de uma única tabela DIM_PRODUTO com colunas categoria e subcategoria, teríamos DIM_PRODUTO, DIM_CATEGORIA e DIM_SUBCATEGORIA, ligadas por chaves estrangeiras. O resultado é um modelo mais normalizado e com menos redundância, mas cada consulta que precisa de atributos de várias dessas tabelas exige mais joins — exatamente o que o enunciado aponta como impacto negativo no desempenho.

A razão pela qual isso degrada o desempenho é simples: cada join adicional aumenta o custo de processamento, pois o banco precisa combinar mais tabelas, usar mais memória e, muitas vezes, acessar mais índices. Em um data warehouse, onde as consultas são pesadas e agregam milhões de linhas, o número de joins é um dos principais fatores de lentidão. Por isso, a prática recomendada em modelagem dimensional é desnormalizar as dimensões (manter tudo em uma tabela), priorizando a velocidade de leitura em detrimento da redundância — que é aceitável nesse contexto, pois os dados são carregados em lote e raramente atualizados.

A pegadinha da banca está em inverter a lógica: muitos candidatos associam "normalização" a algo positivo (eliminar redundância) e esquecem que, no contexto dimensional, ela é prejudicial ao desempenho de consultas. A banca explora exatamente essa confusão entre o que é bom para bancos transacionais (OLTP) e o que é bom para bancos analíticos (OLAP). No OLTP, a normalização reduz redundância e melhora a consistência; no OLAP, a desnormalização é a regra, pois o objetivo é minimizar joins e acelerar leituras.

Guarde a fronteira decisiva: esquema estrela = dimensões desnormalizadas = menos joins = melhor desempenho; esquema floco de neve = dimensões normalizadas = mais joins = pior desempenho. É exatamente nessa fronteira que as alternativas se dividem.

Critério

Normalização (Snowflake) ✅

Chaves Substitutas ❌

Conformidade ❌

Não Aditividade ❌

Degeneração ❌

Efeito no nº de joins

Aumenta (decompõe dimensões em várias tabelas)

Não aumenta (chaves inteiras otimizam joins)

Não aumenta (dimensões compartilhadas evitam joins extras)

Não afeta (é característica de medida, não de estrutura)

Diminui (atributo vai direto para a tabela fato)

Impacto no desempenho

Negativo (consultas mais lentas)

Positivo (joins mais eficientes)

Positivo (consistência e reuso)

Neutro (afeta agregações, não junções)

Positivo (menos tabelas = menos joins)

Relação com o gabarito

É a resposta correta

Descartada — técnica benéfica

Descartada — técnica benéfica

Descartada — conceito fora do escopo

Descartada — efeito contrário ao enunciado

Alternativa A — ❌ Incorreta

A criação de chaves substitutas (surrogate keys) é uma prática positiva na modelagem dimensional. Ela consiste em atribuir uma chave artificial (geralmente um inteiro sequencial) a cada registro de dimensão, independente das chaves naturais do sistema de origem. Isso não aumenta a quantidade de joins — pelo contrário, chaves substitutas permitem joins mais eficientes (inteiros são mais rápidos que strings compostas) e protegem o modelo contra mudanças nas chaves naturais. O erro da alternativa é atribuir a ela um impacto negativo que ela não tem.

Alternativa B — ❌ Incorreta

A conformidade das dimensões (conformed dimensions) é uma técnica que reduz a complexidade e melhora a consistência entre diferentes fatos. Dimensões conformadas são aquelas compartilhadas por múltiplas tabelas de fato, com os mesmos atributos e chaves. Isso não aumenta joins; na verdade, permite que consultas que cruzam fatos diferentes usem a mesma dimensão sem joins adicionais. A alternativa erra ao associar conformidade a um impacto negativo no desempenho.

Alternativa C — ❌ Incorreta

A não aditividade dos fatos refere-se a medidas que não podem ser somadas ao longo de uma dimensão (por exemplo, uma taxa ou um percentual). Isso é uma característica de modelagem de medidas, não de estrutura de tabelas. A não aditividade não tem relação com a quantidade de joins — ela afeta a forma como as agregações são calculadas, mas não o número de junções necessárias. A alternativa confunde o conceito de medida com o de estrutura dimensional.

Alternativa D — ❌ Incorreta

A degeneração das dimensões (degenerate dimension) ocorre quando um atributo que pertence à dimensão é armazenado diretamente na tabela de fato, sem uma tabela de dimensão separada (por exemplo, o número do pedido). Isso reduz o número de tabelas e, consequentemente, diminui a necessidade de joins. A alternativa erra ao afirmar que degeneração aumenta joins — ela faz o oposto.

Alternativa E — ✅ Correta ⟵ GABARITO

A normalização das dimensões é exatamente a técnica que aumenta a quantidade de joins em uma base multidimensional. Ao decompor uma dimensão em várias tabelas (esquema floco de neve), cada consulta que precisa de atributos de diferentes níveis hierárquicos exige múltiplas junções, impactando negativamente o desempenho. É o oposto do que se busca em modelagem dimensional, onde a desnormalização é preferida para acelerar leituras.

PEGA ESSA DICA!

Para questões de modelagem dimensional, lembre-se do par: estrela = desnormalizado = rápido; floco de neve = normalizado = lento. Se a alternativa falar em "aumentar joins", procure a que menciona normalização ou floco de neve. E desconfie de alternativas que atribuem efeitos negativos a técnicas que, na prática, são benéficas (como chaves substitutas e conformidade).

Gabarito: letra E

Link permanente: /questoes/fg165305