SóProvas


ID
5041456
Banca
CESPE / CEBRASPE
Órgão
TCE-RJ
Ano
2021
Provas
Disciplina
Banco de Dados
Assuntos

Acerca de arquitetura e aplicações de data warehousing, ETL e Olap, julgue o item a seguir.


A operação cube na cláusula group by permite que uma consulta resulte em uma tabela com três dimensões: colunas, linhas e metadados.

Alternativas
Comentários
  • GAB. ERRADO

    Misturou conceitos.

    cláusula Group by

    (...)

    Podemos, então, aplicar a função a cada grupo desse tipo independentemente, para produzir informações de resumo sobre cada grupo. A SQL tem uma cláusula GROUP BY para essa finalidade. A cláusula GROUP BY especifica os atributos de agrupamento, que também devem aparecer na cláusula SELECT, de modo que o valor resultante da aplicação de cada função de agregação a um grupo de tuplas apareça junto com o valor do(s) atributo(s) de agrupamento.

    operação cube (cubo)

    Modelos multidimensionais tiram proveito dos relacionamentos inerentes nos dados para preencher os dados em matrizes multidimensionais, chamadas cubos de dados. (Estes podem ser chamados de hipercubos, se tiverem mais de três dimensões.)

    (...)

    Sistemas de banco de dados Elmasri • Navathe 6a edição

    O conceito de Cubo é muito grande, com vários exemplos.

    Mas, a questão está errada por misturar duas coisas sem conexão.

  • Tema raro, nunca vi cair em prova.

    GROUP BY CUBE (atr1 ... atrn) - produz 2 elevado a n subtotais para todas as combinações de n dimensões identificadas.

    GROUP BY ROLLUP (atr1 ... atrn) - produz n+1 subtotais a partir de n colunas inseridas.

    Simulam operações de DRILL UP e DICE em bases de dados relacionais.

    De qualquer forma, as dimensões são retornadas nas LINHAS, não existem COLUNAS extra, nem METADADOS.

    O resultado terá o mesmo formato que a cláusula GROUP BY definir.

    Gabarito: Errado.

    Fontes de pesquisa:

    https://www.youtube.com/watch?v=CCm4IY-Ntfw - Demonstração de uso.

    Data Mining and Data Warehousing Principles and Practical Techniques; Parteek Bhatia; 2019 - Sessão 14.3 - Implementando Visão Multidimensional de Dados no Oracle.

  • FUNÇÃO CUBE

    A sub-cláusula CUBE é utilizada em instruções SELECT com GROUP BY. Ela possibilita o cálculo de subtotais e totais para diferentes níveis dos dados agregados.

    Podemos concluir que a função CUBE calcula subtotais para todas as combinações possíveis das colunas selecionadas.

     Função GROUPING

    A função GROUPING serve para identificar se uma linha é agregada ou “super-agregada” em instruções SELECT que realizam operações de CUBE ou ROLLUP. A função realiza uma ação muito simples: ela retorna 1 quando identifica uma linha super-agregada para um determinado campo e 0 caso contrário.

    Ambas as funcionalidades são utilizadas para tornar os comandos SELECT com GROUP BY mais flexíveis e poderosos, mantendo porém a simplicidade da sintaxe.

    O entendimento fica melhor com imagens, neste link tem um artigo de fácil compreensão :

    https://www.devmedia.com.br/tabulacoes-com-a-sub-clausula-cube-e-a-funcao-grouping-no-oracle/26743

  • A questão pode ser resolvida com o seguinte questionamento: para que um cubo com uma dimensão de metadados?

  • Trata-se de uma questão sobre banco de dados.

    O comando da questão afirma que a operação cube gera uma resultante com 3 dimensões, colunas, linhas e metadados.

    O CUBE é uma operação que se assemelha a uma versão tridimensional do GROUP BY, pois ele gera mais informações do que quando produzida a query com o GROUP BY, entretanto o resultado continua sendo de linhas e colunas (2 dimensões), apenas com mais linhas.


    Gabarito do Professor: ERRADO.
  • A questão trata da subcláusula cube, utilizada em bancos Oracle.

    Segue a definição: A sub-cláusula CUBE é utilizada no Oracle em instruções SELECT com GROUP BY. Ela possibilita o cálculo de subtotais e totais para diferentes níveis dos dados agregados. CUBE é uma operação que pode ser entendida como uma espécie de “versão tridimensional” da operação de GROUP BY. Ela produz um maior número de resultados do que o produzido com em um SELECT com GROUP BY comum.

    O erro está em dizer que ela gera linhas, colunas e metadados, enquanto o que ela faz de fato é gerar registros (linhas) a mais, contendo, além dos valores totais da cláusula Group by, valores subtotais.