Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

13
respostas

Script para criar o BD DWSUCOS Já com dados corretos

Estou fazendo o Curso de OLAP com Pentaho: Construção do Data Mart. Preciso do script para criar o BD DWSUCOS já com todos os seus dados incluídos, para eu poder dar prosseguimento, pois em algum momento cometi algum erro que não estou conseguindo identificar e estou bloqueado no meu treinamento.

13 respostas

Oii Ivan, tudo bem?

Poderia compartilhar comigo o que está acontecendo?

Bom, nesse caso, vou te passar um arquivo que você vai substituir na sua pasta do MySQL.

  • Baixe esse arquivo com o banco de dados DW_SUCOS.
  • Acesse esse caminho: C:\treinamento\mysql\core\mysql\data e cole a pasta dwsucos ali dentro.

Imgur

Feito isso, inicie o MySQL, abra o Heidi e verifique se o banco se encontra ali.

Me avisa qualquer coisa :)

Baixei e restaurei o arquivo, quando rodei a consulta abaixo deu um erro, disse que a tabela fato_001 não existe

USE DWSUCOS; SELECT X.Cod_Cliente ,X.Cod_Produto ,X.Cod_Organizacional ,X.Cod_Fabrica ,X.Cod_Tempo ,X.Faturamento ,X.Imposto ,X.Custo_Variavel ,X.Unidade_Vendidadmpresidenciadmpresidencia ,X.Quantidade_Vendida ,(X.Quantidade_Vendida/Y.Quantdade_Vendida_002) * Y.Custo_Frete AS Frete_Rateio ,(X.Quantidade_Vendida/W.Quantdade_Vendida_003) * W.Custo_Fixo AS Custo_Fixo_Rateio ,(X.Quantidade_Vendida/Z.Quantdade_Vendida_004) * Z.Meta_Faturamento AS Meta_Faturamento_Rateio ,(X.Quantidade_Vendida/K.Quantdade_Vendida_005) * K.Meta_Custo AS Meta_Custo_Rateio FROM Fato_001 X INNER JOIN ( SELECT A.Cod_Cliente ,A.Cod_Produto ,A.Cod_Fabrica ,A.Cod_Tempo ,A.Custo_Frete , B.Quantdade_Vendida_002 FROM Fato_002 A INNER JOIN ( SELECT Cod_Cliente ,Cod_Produto ,Cod_Fabrica ,Cod_Tempo ,SUM(Quantidade_Vendida) AS Quantdade_Vendida_002 FROM Fato_001 GROUP BY Cod_Cliente ,Cod_Produto ,Cod_Fabrica ,Cod_Tempo) B ON A.Cod_Cliente = B.Cod_Cliente AND A.Cod_Produto = B.Cod_Produto AND A.Cod_Fabrica = B.Cod_Fabrica AND A.Cod_Tempo = B.Cod_Tempo ) Y ON X.Cod_Cliente = Y.Cod_Cliente AND X.Cod_Produto = Y.Cod_Produto AND X.Cod_Fabrica = Y.Cod_Fabrica AND X.Cod_Tempo = Y.Cod_Tempo INNER JOIN ( SELECT A.Cod_Fabrica ,A.Cod_Tempo ,A.Custo_Fixo , B.Quantdade_Vendida_003 FROM Fato_003 A INNER JOIN ( SELECT Cod_Fabrica ,Cod_Tempo ,SUM(Quantidade_Vendida) AS Quantdade_Vendida_003 FROM Fato_001 GROUP BY Cod_Fabrica ,Cod_Tempo) B ON A.Cod_Fabrica = B.Cod_Fabrica AND A.Cod_Tempo = B.Cod_Tempo ) W ON X.Cod_Fabrica = W.Cod_Fabrica AND X.Cod_Tempo = W.Cod_Tempo inner join ( SELECT A.Cod_Cliente ,A.Cod_Produto ,A.Cod_Organizacional ,A.Cod_Tempo ,A.Meta_Faturamento ,B.Quantdade_Vendida_004 FROM Fato_004 A INNER JOIN ( SELECT Cod_Cliente ,Cod_Produto ,Cod_Organizacional ,Cod_Tempo ,SUM(Quantidade_Vendida) AS Quantdade_Vendida_004 FROM Fato_001 GROUP BY Cod_Cliente ,Cod_Produto ,Cod_Organizacional ,Cod_Tempo) B ON A.Cod_Cliente = B.Cod_Cliente AND A.Cod_Produto = B.Cod_Produto AND A.Cod_Tempo = B.Cod_Tempo ) Z ON X.Cod_Cliente = Z.Cod_Cliente AND X.Cod_Produto = Z.Cod_Produto AND X.Cod_Tempo = Z.Cod_Tempo INNER JOIN ( SELECT A.Cod_Produto ,A.Cod_Fabrica ,A.Cod_Tempo ,A.Meta_Custo ,B.Quantdade_Vendida_005 FROM Fato_005 A INNER JOIN ( SELECT Cod_Produto ,Cod_Fabricafato_presidencia ,Cod_Tempo ,SUM(Quantidade_Vendida) AS Quantdade_Vendida_005 FROM Fato_001 GROUP BY Cod_Produto ,Cod_Fabrica ,Cod_Tempo) B ON A.Cod_Produto = B.Cod_Produto AND A.Cod_Fabrica = B.Cod_Fabrica AND A.Cod_Tempo = B.Cod_Tempo ) K ON X.Cod_Produto = K.Cod_Produto AND X.Cod_Fabrica = K.Cod_Fabrica AND X.Cod_Tempo = K.Cod_Tempo WHERE CAST(SUBSTRING(X.Cod_tempo,1,4) AS UNSIGNED) >= 2013 AND CAST(SUBSTRING(X.Cod_tempo,5,2) AS UNSIGNED) >= 1 AND CAST(SUBSTRING(X.Cod_tempo,1,4) AS UNSIGNED) <= 2013 AND CAST(SUBSTRING(X.Cod_tempo,5,2) AS UNSIGNED) <= 1

Na verdade não está aparecendo tabela nenhuma, depois que fiz o procedimento que você indicou.

Caramba Ivan, que estranho. Foi assim que eu resolvi o meu problema parecido com o seu quando estava fazendo o curso.

Você tá usando as ferramentas que o instrutor usa no curso? Me manda um print do seu banco de dados por favor. Upa no Imgur e me envia o link.

Fico no aguardo :)

Estou usando tudo o que o professor usa

Eu nunca usei o Imgur

Subi duas imagens no Imgur.

https://imgur.com/gWsKKxj

https://imgur.com/SDsoYSk

Está muito esquisito porque as tabelas fisicamente estão lá mas não aparecem no HeidiSQL.

Se você quiser conectar remotamente no meu computador é só falar. Podemos fazer pelo teamviewer.

Já tem uma solução para o meu problema ???? Estou precisando resolver isso para continuar o treinamento.

Sugestão de solução. No HeidSQL, que a ferramenta para gerenciamento do MySQL que o professor está usando no curso, você pode exportar o script de criação do BD para um arquivo texto e me enviar ele.

O caminho é: 1) No menu escoloher ferramentas manutenção. 2) Clicar na aba exportar sql 3) As opções banco de dados e tabelas marcar o check box criar. 4) Em dados, escolher, substituir dados existentes. 5) Saída, escolher arquivo .sql único 6) Na esquerda da janela, marcar o BD a ser exportado, no caso o dwsucos.

Agurado solução. Preciso continuar o curso.

Olá Ivan,

Peço desculpas em demorar um pouco, pois estava tentando algumas soluções sem ter que exportar, já que você possui o banco de dados em sua máquina. Acabou que não achei as soluções viável e fiz o script SQL para você criar e popular o banco. Está aqui nesse link, é um arquivo .sql

Novamente, peço desculpas pela demora e pelo inconveniente.

Me avise qualquer coisa, tá bom? :)

Maria, consegui resolver a questão do banco, mas tive que editar o script que você me mandou e tirar na mão, todos os apóstrofes que estavam delimitando o nome das tabelas e os nomes dos campos onde os dados seriam gravados. Só assim resolveu. Mas resolveu. Obrigado.