Re: [pgbr-geral] Dúvida conceitual em select

2009-05-18 Por tôpico Sidnei Vladisauskis
Vou dar uma lida e uma pensada melhor em tudo...

obrigado por enquanto

2009/5/18 Osvaldo Kussama 

> 2009/5/18 Sidnei Vladisauskis :
> > O problema é que acho que minha tabela não pode ser desse jeito...
> >
> > porque não tenho um produtos para várias lojas e sim um produto para cada
> > loja.
> >
> > imaginem assim, tenho os produtos:
> > tv lcd lg 29" na loja 1
> > tv lcd lg 29" black piano na loja 2
> >
> > o único detalhe que muda é a descrição...
> >
> > mas na hora do select quero trazer tv lcd 29" e em que loja tem isso
> >
> > +ou- como funciona o busca pé ou outro site do gênero.
> >
> >
> > 2009/5/18 Osvaldo Kussama 
> >>
> >> 2009/5/18 Lucas Souza :
> >> >
> >> >
> >> > 2009/5/18 Sidnei Vladisauskis 
> >> >>
> >> >> Fala pessoal,
> >> >>
> >> >> Estou com uma dúvida conceitual para fazer um select
> >> >>
> >> >> Vamos lá:
> >> >>
> >> >> tenho uma tabela "produtos" onde tenho
> >> >> id
> >> >> name
> >> >> loja_id
> >> >>
> >> >> e tenho uma tabela loja onde tenho
> >> >> loja_id
> >> >> name
> >> >>
> >> >>
> >> >> Tenho produtos que possuem em duas lojas, por exemplo:
> >> >> tv lcd lg 29"
> >> >>
> >> >> ela está dentro de produtos duas vezes
> >> >>
> >> >> Tabela produtos
> >> >> | id |  name  | loja_id
> >> >> | 1  | tv lcd lg 29" | 1
> >> >> | 2  | tv lcd lg 29" | 2
> >> >
> >> > desta forma você esta replicando dados desnecessariamente,
> >> >
> >> > o correto seria uma 3º entidade para associar o produto a loja
> assim...
> >> >
> >> > (exemplo) tabela produto_relacao_loja
> >> >
> >> > loja_id (PK, FK)
> >> > produto_id (PK, FK)
> >> > estoque
> >> > preco
> >> >
> >> >
> >> >>
> >> >>
> >> >> Quando faço select * from produtos tenho todos os resultados.
> >> >>
> >> >> Como eu rotorno o seguinte?
> >> >>
> >> >> |  name  | lojas
> >> >> | tv lcd lg 29" | 1,2
> >> >>
> >> >> Tem como?
> >> >>
> >> >> Se eu der group by name ele pede id tb, e ai dá na mesma...
> >> >>
> >>
> >>
> >> Além do excelente e apropriado conselho do Lucas você pode usar,
> >> especificamente para o select desejado, uma função de agregação.
> >> Veja o exemplo array_accum em:
> >> http://www.postgresql.org/docs/current/interactive/xaggr.html
> >>
>
>
> Se isto for mesmo verdade eu diria que este é um caso único e
> sui-generis de rede de lojas.
> Imagine por ex. a livraria Saraiva em que cada loja da rede tivesse
> seus próprios livros e que cada um deles não estivesse a venda em
> nenhuma outra loja da rede. Me parece muito estranho e fora da
> realidade.
>
> Dê uma revisada em seu modelo conceitual de dados e leia um pouco
> sobre normalização. Pode começar por aqui:
> http://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3%A3o_de_dados
>
> Osvaldo
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida conceitual em select

2009-05-18 Por tôpico Osvaldo Kussama
2009/5/18 Sidnei Vladisauskis :
> O problema é que acho que minha tabela não pode ser desse jeito...
>
> porque não tenho um produtos para várias lojas e sim um produto para cada
> loja.
>
> imaginem assim, tenho os produtos:
> tv lcd lg 29" na loja 1
> tv lcd lg 29" black piano na loja 2
>
> o único detalhe que muda é a descrição...
>
> mas na hora do select quero trazer tv lcd 29" e em que loja tem isso
>
> +ou- como funciona o busca pé ou outro site do gênero.
>
>
> 2009/5/18 Osvaldo Kussama 
>>
>> 2009/5/18 Lucas Souza :
>> >
>> >
>> > 2009/5/18 Sidnei Vladisauskis 
>> >>
>> >> Fala pessoal,
>> >>
>> >> Estou com uma dúvida conceitual para fazer um select
>> >>
>> >> Vamos lá:
>> >>
>> >> tenho uma tabela "produtos" onde tenho
>> >> id
>> >> name
>> >> loja_id
>> >>
>> >> e tenho uma tabela loja onde tenho
>> >> loja_id
>> >> name
>> >>
>> >>
>> >> Tenho produtos que possuem em duas lojas, por exemplo:
>> >> tv lcd lg 29"
>> >>
>> >> ela está dentro de produtos duas vezes
>> >>
>> >> Tabela produtos
>> >> | id |  name  | loja_id
>> >> | 1  | tv lcd lg 29" | 1
>> >> | 2  | tv lcd lg 29" | 2
>> >
>> > desta forma você esta replicando dados desnecessariamente,
>> >
>> > o correto seria uma 3º entidade para associar o produto a loja assim...
>> >
>> > (exemplo) tabela produto_relacao_loja
>> >
>> > loja_id (PK, FK)
>> > produto_id (PK, FK)
>> > estoque
>> > preco
>> >
>> >
>> >>
>> >>
>> >> Quando faço select * from produtos tenho todos os resultados.
>> >>
>> >> Como eu rotorno o seguinte?
>> >>
>> >> |      name      | lojas
>> >> | tv lcd lg 29" | 1,2
>> >>
>> >> Tem como?
>> >>
>> >> Se eu der group by name ele pede id tb, e ai dá na mesma...
>> >>
>>
>>
>> Além do excelente e apropriado conselho do Lucas você pode usar,
>> especificamente para o select desejado, uma função de agregação.
>> Veja o exemplo array_accum em:
>> http://www.postgresql.org/docs/current/interactive/xaggr.html
>>


Se isto for mesmo verdade eu diria que este é um caso único e
sui-generis de rede de lojas.
Imagine por ex. a livraria Saraiva em que cada loja da rede tivesse
seus próprios livros e que cada um deles não estivesse a venda em
nenhuma outra loja da rede. Me parece muito estranho e fora da
realidade.

Dê uma revisada em seu modelo conceitual de dados e leia um pouco
sobre normalização. Pode começar por aqui:
http://pt.wikipedia.org/wiki/Normaliza%C3%A7%C3%A3o_de_dados

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida conceitual em select

2009-05-18 Por tôpico Dickson S. Guedes
Em Seg, 2009-05-18 às 14:34 -0300, Sidnei Vladisauskis escreveu:
> O problema é que acho que minha tabela não pode ser desse jeito...
> 
> porque não tenho um produtos para várias lojas e sim um produto para
> cada loja.
> 
> imaginem assim, tenho os produtos:
> tv lcd lg 29" na loja 1
> tv lcd lg 29" black piano na loja 2
> 
> o único detalhe que muda é a descrição...
> 
> mas na hora do select quero trazer tv lcd 29" e em que loja tem isso
> 
> +ou- como funciona o busca pé ou outro site do gênero.


Independente de como está sua modelagem, para o seu problema em
específico você chegou a testar a dica do Osvaldo? Ela é muito útil para
este tipo de cenário em que você quer que todos os dados que apareceriam
em varias linhas acabem aparecendo em uma única.



> 2009/5/18 Osvaldo Kussama 

> Além do excelente e apropriado conselho do Lucas você pode
> usar,
> especificamente para o select desejado, uma função de
> agregação.
> Veja o exemplo array_accum em:
> http://www.postgresql.org/docs/current/interactive/xaggr.html


-- 
Dickson S. Guedes
mail/xmpp: gue...@guedesoft.net - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
http://www.rnp.br/keyserver/pks/lookup?search=0x8F3E3C06D428D10A


signature.asc
Description: Esta é uma parte de mensagem	assinada digitalmente
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida conceitual em select

2009-05-18 Por tôpico Sidnei Vladisauskis
O problema é que acho que minha tabela não pode ser desse jeito...

porque não tenho um produtos para várias lojas e sim um produto para cada
loja.

imaginem assim, tenho os produtos:
tv lcd lg 29" na loja 1
tv lcd lg 29" black piano na loja 2

o único detalhe que muda é a descrição...

mas na hora do select quero trazer tv lcd 29" e em que loja tem isso

+ou- como funciona o busca pé ou outro site do gênero.


2009/5/18 Osvaldo Kussama 

> 2009/5/18 Lucas Souza :
> >
> >
> > 2009/5/18 Sidnei Vladisauskis 
> >>
> >> Fala pessoal,
> >>
> >> Estou com uma dúvida conceitual para fazer um select
> >>
> >> Vamos lá:
> >>
> >> tenho uma tabela "produtos" onde tenho
> >> id
> >> name
> >> loja_id
> >>
> >> e tenho uma tabela loja onde tenho
> >> loja_id
> >> name
> >>
> >>
> >> Tenho produtos que possuem em duas lojas, por exemplo:
> >> tv lcd lg 29"
> >>
> >> ela está dentro de produtos duas vezes
> >>
> >> Tabela produtos
> >> | id |  name  | loja_id
> >> | 1  | tv lcd lg 29" | 1
> >> | 2  | tv lcd lg 29" | 2
> >
> > desta forma você esta replicando dados desnecessariamente,
> >
> > o correto seria uma 3º entidade para associar o produto a loja assim...
> >
> > (exemplo) tabela produto_relacao_loja
> >
> > loja_id (PK, FK)
> > produto_id (PK, FK)
> > estoque
> > preco
> >
> >
> >>
> >>
> >> Quando faço select * from produtos tenho todos os resultados.
> >>
> >> Como eu rotorno o seguinte?
> >>
> >> |  name  | lojas
> >> | tv lcd lg 29" | 1,2
> >>
> >> Tem como?
> >>
> >> Se eu der group by name ele pede id tb, e ai dá na mesma...
> >>
>
>
> Além do excelente e apropriado conselho do Lucas você pode usar,
> especificamente para o select desejado, uma função de agregação.
> Veja o exemplo array_accum em:
> http://www.postgresql.org/docs/current/interactive/xaggr.html
>
> Osvaldo
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida conceitual em select

2009-05-18 Por tôpico Osvaldo Kussama
2009/5/18 Lucas Souza :
>
>
> 2009/5/18 Sidnei Vladisauskis 
>>
>> Fala pessoal,
>>
>> Estou com uma dúvida conceitual para fazer um select
>>
>> Vamos lá:
>>
>> tenho uma tabela "produtos" onde tenho
>> id
>> name
>> loja_id
>>
>> e tenho uma tabela loja onde tenho
>> loja_id
>> name
>>
>>
>> Tenho produtos que possuem em duas lojas, por exemplo:
>> tv lcd lg 29"
>>
>> ela está dentro de produtos duas vezes
>>
>> Tabela produtos
>> | id |  name  | loja_id
>> | 1  | tv lcd lg 29" | 1
>> | 2  | tv lcd lg 29" | 2
>
> desta forma você esta replicando dados desnecessariamente,
>
> o correto seria uma 3º entidade para associar o produto a loja assim...
>
> (exemplo) tabela produto_relacao_loja
>
> loja_id (PK, FK)
> produto_id (PK, FK)
> estoque
> preco
>
>
>>
>>
>> Quando faço select * from produtos tenho todos os resultados.
>>
>> Como eu rotorno o seguinte?
>>
>> |      name      | lojas
>> | tv lcd lg 29" | 1,2
>>
>> Tem como?
>>
>> Se eu der group by name ele pede id tb, e ai dá na mesma...
>>


Além do excelente e apropriado conselho do Lucas você pode usar,
especificamente para o select desejado, uma função de agregação.
Veja o exemplo array_accum em:
http://www.postgresql.org/docs/current/interactive/xaggr.html

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] Dúvida conceitual em select

2009-05-18 Por tôpico Lucas Souza
2009/5/18 Sidnei Vladisauskis 

> Fala pessoal,
>
> Estou com uma dúvida conceitual para fazer um select
>
> Vamos lá:
>
> tenho uma tabela "produtos" onde tenho
> id
> name
> loja_id
>
> e tenho uma tabela loja onde tenho
> loja_id
> name
>
>
> Tenho produtos que possuem em duas lojas, por exemplo:
> tv lcd lg 29"
>
> ela está dentro de produtos duas vezes
>
> Tabela produtos
> | id |  name  | loja_id
> | 1  | tv lcd lg 29" | 1
> | 2  | tv lcd lg 29" | 2


desta forma você esta replicando dados desnecessariamente,

o correto seria uma 3º entidade para associar o produto a loja assim...

(exemplo) tabela produto_relacao_loja

loja_id (PK, FK)
produto_id (PK, FK)
estoque
preco



>
>
> Quando faço select * from produtos tenho todos os resultados.
>
> Como eu rotorno o seguinte?
>
> |  name  | lojas
> | tv lcd lg 29" | 1,2
>
> Tem como?
>
> Se eu der group by name ele pede id tb, e ai dá na mesma...
>
> Obrigado
>
> ___
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>


-- 

Lucas de Souza D'Ávila
Graduando em Sistema de Informação - CV Lattes:
http://lattes.cnpq.br/9245658982061645

http://merendas.blogspot.com/
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


[pgbr-geral] Dúvida conceitual em select

2009-05-18 Por tôpico Sidnei Vladisauskis
Fala pessoal,

Estou com uma dúvida conceitual para fazer um select

Vamos lá:

tenho uma tabela "produtos" onde tenho
id
name
loja_id

e tenho uma tabela loja onde tenho
loja_id
name


Tenho produtos que possuem em duas lojas, por exemplo:
tv lcd lg 29"

ela está dentro de produtos duas vezes

Tabela produtos
| id |  name  | loja_id
| 1  | tv lcd lg 29" | 1
| 2  | tv lcd lg 29" | 2

Quando faço select * from produtos tenho todos os resultados.

Como eu rotorno o seguinte?

|  name  | lojas
| tv lcd lg 29" | 1,2

Tem como?

Se eu der group by name ele pede id tb, e ai dá na mesma...

Obrigado
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral