Questões de DataMart (Banco de Dados)

Limpar Busca

O gestor de qualidade do MPU solicitou à analista de Business Intelligence Maria um Dashboard para monitorar o desempenho da tramitação dos processos ao longo do tempo.


O programador Pedro havia implementado o banco de dados MongoProc, no MongoDB, para armazenar os dados do sistema de tramitação de processos judiciais. Então, Maria solicitou a ele a consulta ao MongoProc para alimentar as tabelas: fato_proc (quantidade), dim_data, dim_estado. Pedro respondeu que não poderia fornecer apenas uma consulta, pois seria necessário transformar os dados NoSQL em relacional. Para implementar a solução, Maria poderá utilizar apenas as ferramentas disponíveis no MPU: MongoDB, PostgreSQL, MySQL, Flyway, Pentaho, QlikView e MicroStrategy.


Para transformar os dados NoSQL visando a alimentar as tabelas e construir o Dashboard, Maria deve:

  • A minerar os documentos armazenados no MongoProc para encontrar padrões e exibir no Tableau;
  • B modelar multidimensionalmente os dados NoSQL para compor um Data Lake visando a apresentar os dados no Flyway;
  • C carregar um repositório de metadados com a descrição da estrutura flexível do MongoProc e transformar a estrutura rígida do PostgreSQL;
  • D transformar a estrutura NoSQL do MongoProc em SQL do MySQL e criar um Data Mart no GraphDB para ser consultado via QlikView;
  • E implementar um ETL no Pentaho extraindo dados do MongoProc para armazenar em um Data Mart no PostgreSQL e implementar um Dashboard no MicroStrategy.

O analista Otávio está avaliando a solução de Business Intelligence do MPU desenvolvida por uma empresa contratada. Ao observar o banco de dados implementado, Otávio verificou que havia um esquema estrela, e que os dados armazenados estavam desnormalizados e alimentavam um cubo de dados para serem acessados e analisados via ferramenta OLAP.
A partir do observado, Otávio concluiu que o banco de dados era um:

  • A ETL;
  • B ODS;
  • C Data Mart;
  • D Dashboad;
  • E Repositório de Metadados.

Uma empresa deseja implementar uma arquitetura de dados robusta para dar suporte à análise e ao processamento diário de informações. A empresa já possui um sistema de OLTP, mas agora precisa de uma solução de OLAP para análise histórica e de tendências. Além disso, a equipe de TI está considerando a criação de Data Marts para áreas de marketing, vendas e finanças, com o objetivo de melhorar a tomada de decisões.


Com base no cenário apresentado, assinale a alternativa que melhor descreve a relação entre Data Marts, OLTP e OLAP.

  • A OLTP é utilizado para consultas analíticas complexas e relatórios históricos, enquanto OLAP é usado para transações diárias em tempo real. Data Marts são criados para centralizar dados específicos de uma unidade de negócios de uma organização.
  • B OLAP é utilizado para transações diárias e em tempo real, enquanto OLTP é usado para análise de dados históricos. Data Marts são criados para gerenciar os dados operacionais de toda a empresa, com foco em relatórios financeiros.
  • C OLTP e OLAP são praticamente intercambiáveis e podem ser usados para transações e consultas analíticas, respectivamente. Data Marts são usados para armazenar dados não estruturados e não são alimentados por OLTP.
  • D OLAP é focado em dados não estruturados e em tempo real, enquanto OLTP é utilizado para análises históricas e agregações. Data Marts são criados para centralizar dados operacionais da empresa.
  • E OLTP é otimizado para transações rápidas e operações de leitura e escrita em tempo real, enquanto OLAP é utilizado para consultas analíticas e agregações de dados históricos. Data Marts são usados para armazenar subconjuntos de dados específicos para áreas da empresa.

A Hemobrás deseja otimizar suas análises sobre o fornecimento de medicamentos derivados do sangue para hospitais atendidos pelo Sistema Único de Saúde (SUS). A equipe de TI precisa projetar um datamart para facilitar a geração de relatórios sobre a demanda de produtos. O objetivo é permitir consultas eficientes sobre o consumo de medicamentos por hospital, período e tipo de produto. Diante dessa necessidade, qual modelo de datamart é mais adequado para essa solução, considerando que a análise se baseia principalmente na quantidade de medicamentos distribuídos e suas características associadas?

  • A Um modelo de relação-entidade, estruturando as informações de maneira transacional, permitindo operações de inclusão e atualização mais eficientes.
  • B Um esquema de rede baseado em um modelo hierárquico, cujas relações entre medicamentos e hospitais são armazenadas em uma estrutura de grafos interconectados.
  • C Um esquema em estrela (star schema) com uma única tabela fato contendo os medicamentos distribuídos e tabelas dimensionais para hospitais, períodos e tipos de produtos.
  • D Um esquema normalizado com tabelas altamente relacionadas para reduzir redundâncias, garantindo a consistência dos dados, mesmo que impacte a performance das consultas.

Para analisar as vendas dos vários livros correspondentes a vários autores em uma rede de livrarias, construiu-se um DataMart com uma nova tabela "FATO" que armazenará os preços dos livros, chamada #VendaLivro (LivroID, AutorID, PrecoVenda).

Assinale a opção que descreve a ação correta para incluir esta nova tabela no banco de dados, considerando que já há dados nas tabelas #Livro e #Autor.

  • A CREATE TABLE #VendaLivro ( LivroID INT, AutorID INT, PrecoVenda DECIMAL(10, 2), FOREIGN KEY (AutorID) REFERENCES #Autor(AutorID) );
  • B CREATE TABLE #VendaLivro ( LivroID INT, PrecoVenda DECIMAL(10, 2), QuantidadeVendida INT, FOREIGN KEY (LivroID) REFERENCES #Autor(LivroID) );
  • C CREATE TABLE #VendaLivro ( LivroID INT, AutorID INT, PrecoVenda DECIMAL(10, 2), FOREIGN KEY (LivroID) REFERENCES #Livro(LivroID) ), FOREIGN KEY (AutorID) REFERENCES #Autor(AutorID) );
  • D CREATE TABLE #VendaLivro ( AutorID INT, PrecoVenda DECIMAL(10, 2), FOREIGN KEY (AutorID) REFERENCES #Autor(LivroID) );
  • E CREATE TABLE #VendaLivro ( PrecoVenda DECIMAL(10, 2), FOREIGN KEY (LivroID) REFERENCES #Livro(LivroID) ), FOREIGN KEY (AutorID) REFERENCES #Autor(AutorID) );