Ir ao conteúdo

Duvida Iniciante


xuba56

Posts recomendados

Postado

Boa tarde pessoal

 

 

Primeiramente, nao sei absolutamente nada de banco de dados(nei sei o que é SQL, mysql, OLAP), mas tenho um problema e creio que possam me ajudar

 

 

 

Onde trabalho, tenho resumidadamente o seguinde banco de dados, cada dado em uma célula:

 

 

 

 

Numero venda                codigo do produto              cliente

1                                                   1001                       joão

 

2                                                   1005                        ze

 

3                                                    1008                        juca

 

3                                                     1011                        juca

 

3                                                       1019                       juca

 

 

 

Ou seja, venda surge como uma nova tupla....e pra cada produto por exemplo é clasificado de alguma forma

 

 

 

 

 

Gostaria de transformar da seguinte forma:

 

 

Num venda                           produto1      produto2     produto3    produto4          produto5    ......... produtoN                 cliente

1                                               1001                                                                                                                                   joão

2                                               1005                                                                                                                                   ze

3                                               1008          1011           1019                                                                                               juca

 

 

 

 

Alguem sabe como posso fazer este tipo de transformação?

Preciso do acess? no Excel mesmo tem jeito ?

 

 

 

 

Objetivo: preparar um banco de dados para realizar regras de associação(data mining-análise de cesto de compra) com algoritmico apriori, utilizando o STATISTICA

 

 

 

Obrigado desde já

Postado

Olá, alguém com mais propriedade vai te ajudar no assunto, acredito....

 

Mas posso adiantar, espero não estar errado, que a transformação que você quer fazer, criando várias colunas em uma tabela para "informar" os produtos vendidos, é uma péssima ideia.

 

Qualquer consulta ou estatística em dados neste formato, se torna inviável ou muito mais complexa de ser feita. 

Se eu vejo algo assim, eu xingo até a décima geração da pessoa que criou. ^^

 

Como disse, posso estar errado, e digo isso com base na experiência que tenho usando banco de dados, e quando falo banco de dados, não englobo access, nem excel.

  • Moderador
Postado

@xuba56,

 Como já mencionado.. desta forma.. é inviável.. 

 

O melhor a ser feito é:

 

  • Criar uma tabela cliente( ID, nome, email, endereço, senha)
  • Criar uma tabela produto(ID, nome, valor)
  • Criar uma tabela ItensDaVenda(ID,ID_da_venda, ID_do_produto, valor)
  • Criar uma tabela venda(ID, ID_do_cliente)

 

Bem esse é a parte do cesto de compras. obviamente precisará dos relacionamentos...  para isso terás que criar um índice  na tabela itens da venda para os campos: id da venda e id do produto.. e um índice em vendas para o campo id do cliente.

Postado

Bom dia pessoal,

 

Não seria bem isso minha necessidade. Na verdade, nao estou desenvolvendo um banco de dados....compreendo que desenvolvê-lo assim seria furada.

 

Reformulando meu problema:

 

Em minha loja, possuo um ERP que me gera um relatório das vendas em excel da forma como mencionei:

 

Numero venda                codigo do produto              cliente

1                                                   1001                       joão

 

2                                                   1005                        ze

 

3                                                    1008                        juca

 

3                                                    1011                        juca

 

3                                                     1019                       juca

 

Vejam que uma venda, é um conjunto de produtos.....(Igual quando vamos em um supermercado, aquele carrinho cheio de produtos é considerado uma venda apenas, de numero X...só que de n produtos).

 

Só que o relatório que é gerado em meu ERP cria uma lova linha, a cada produto dessa mesma venda....e repete o numero da venda(vejam a venda nº3). É uma venda de ID 3 e que teve 3 produtos para o mesmo juca :huh:

 

 

 

Porém, o programa que eu pretendo utilizar (STATISTICA) não consegue ler desta forma. Por isto precisaria transformar para a seguinte forma:

 

Num venda                           produto1      produto2     produto3    produto4          produto5    ......... produtoN                 cliente

1                                               1001                                                                                                                                   joão

2                                               1005                                                                                                                                   ze

3                                               1008          1011           1019                                                                                               juca

 

Depois de transformar para este formato, simplemente daria um ctrl+C ctrl+V no STATISTICA.....ficaria tal como neste vídeo, por favor vejam:

 

 

 

Então minha pergunta é: Existe algum recurso em algum pograma de banco de dados onde eu possa fazer este tipo de trasformação na apresentação dos dados ? Fazer manualmente seria inviável

 

 

Muito Obrigado

  • Moderador
Postado

Então.. respondendo em "miúdos"...   não tem como.. do jeito que você quer não dá.

Seu programa erp está correto, onde  um usuário comprou 3 produtos...  na mesma venda.

Postado

Tudo tem como em programação, basta definir o que você quer, e fazer, pagar para alguém, ou então aparecer alguém que faça pelo desafio. ^^

 

Definição do programa auxiliar:

- Ler tabela de produtos

- Criar a coluna VENDA em uma nova tabela, chamada tabela ABA

- Criar colunas na tabela ABA, onde o nome de cada coluna será o ID de cada produto lido da tabela produtos

- Ler a tabela itens da venda, e popular a tabela ABA, informando o ID do produto na coluna que tenha o mesmo nome desse ID

 

Não sei se o MySQL possui limitação em número de colunas, caso não tenha, é possível fazer esse auxiliar.

Postado

Olá,

 

 

fiz um programa em VBA no excel mesmo para tal tarefa, deu certo

 

 

Achei que tivesse algum programa de banco de dados que fizesse esse tipo de tarefa diretamente....imaginei que esse tipo de problema fosse corriqueiro em bancos de dados

 

De qualquer forma obrigado a todos

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!