Destino 0 Denunciar post Postado Dezembro 4, 2006 Pessoal, olá.Estou trabalhando num projeto de um site de relacionamento, e estou com uma dúvida enorme, como armazenar os amigos do usuario ?Vou explicar, como no orkut, você quer que alguem como amigo, so que nao sei como eles fazer pra gravar esses dados, se fazer uma tabela com o indece do usiaro e do amigo em cada registro ou se criam uma variavel so e colocam num campo do usuario.E que prevendo um grande volume de dados tenho medo de escolher o metodo errado.E outra coisa, por exemplo se eu criasse uma tabela assim, id usuarios e varios campos para serem preenchidos com os indices dos usuarios, e se eu quisesse nao limitar isso, seria uma confusão não é ?eu estive pensando em criar um campo no cadastro do usuario chamado amigos, ele seria um text dai quando eu adicionasse um amigo ele enraria codificado como [id_amigo][id_amigo][id_amigo] e na hora de exibir eu manipularia esses valores, mas tambem achei um pouco arriscado, o que vocês me dizemAlguem pode me ajudar ? Compartilhar este post Link para o post Compartilhar em outros sites
Destino 0 Denunciar post Postado Dezembro 5, 2006 Por falor alguem comenta ai. Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Dezembro 5, 2006 É, não gostei muito de nenhuma das opções que você citou... qualquer uma das duas vai te limitar o número de amigos.E se você criar uma tabela que tenho o id +id_amigo ? Compartilhar este post Link para o post Compartilhar em outros sites
Destino 0 Denunciar post Postado Dezembro 7, 2006 É, não gostei muito de nenhuma das opções que você citou... qualquer uma das duas vai te limitar o número de amigos.E se você criar uma tabela que tenho o id +id_amigo ?A Dúvida e justamente essa. Nao sei a melhor opção para isso, se e criar uma tabela com cada registro do usuario e do amigo, so que assim acho que as buscas ficariam pesadas quanto tivesse muitos registros, ou se coloco num capo do cadastro do usuario um campo para amigos e colocada as ids deles la numa string formatada tipo [001][002][003][004] e dai manipulava na buisca, o que vocês achamVocês tem alguma altenartiva melhor ? Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Dezembro 7, 2006 Esqueça essa idéia de colocar os codigos em uma string e manipular depois.Imagina o trampo que vai dar pra localizar alguem lá no meio da lista, quando que em uma tabela indexada, relacionada, tudo certinho é só dar um select e pronto. Compartilhar este post Link para o post Compartilhar em outros sites
Destino 0 Denunciar post Postado Dezembro 7, 2006 Mas será que com um volume grande de registros não ficaria muito lento a busca não ? você preferiria uma tabela com o campo usuario amigo ? e tipo e eu tenho 100 amigos vou ter 100 rgistros nessa tabela ? Compartilhar este post Link para o post Compartilhar em outros sites
walace 1 Denunciar post Postado Dezembro 7, 2006 Sim, mesmo assim vai ficar mais rápido que a busca em um campo string.Tabelas e índices existem para isso mesmo.;-) Compartilhar este post Link para o post Compartilhar em outros sites
ronanlumb 0 Denunciar post Postado Dezembro 7, 2006 TIpo assim. Olha acabei de pensar na seguinte forma.Cria um tabela com 3 campos. ID (auto increment) é lógicoOS outros campos faz assim. AMIGOA, AMGIGO B. Ae você guarda as IDS dele.PQ dessa forma tanto eu sou seu amigo, como você é meu amigo. Então diminuimos o número de registros no BD.Ae na hora de ver seus amigos você faz. SELECT AMIGOB from amigos whereSEUID=AMIGOA.Assim pega todos os registros onde o cara é seu amigo e depois vaiSELECT AMIGOA amigos where SEUID=AMIGOBNa verdade acho que da para fazer tudo na mesma consulta, depois agente pensa nisso agora to ocupado. heBom saber disso pq estou querendo fazer um sistema desses para incrementar meu portal Compartilhar este post Link para o post Compartilhar em outros sites
Destino 0 Denunciar post Postado Dezembro 8, 2006 TIpo assim. Olha acabei de pensar na seguinte forma.Cria um tabela com 3 campos. ID (auto increment) é lógicoOS outros campos faz assim. AMIGOA, AMGIGO B. Ae você guarda as IDS dele.PQ dessa forma tanto eu sou seu amigo, como você é meu amigo. Então diminuimos o número de registros no BD.Ae na hora de ver seus amigos você faz. SELECT AMIGOB from amigos whereSEUID=AMIGOA.Assim pega todos os registros onde o cara é seu amigo e depois vaiSELECT AMIGOA amigos where SEUID=AMIGOBNa verdade acho que da para fazer tudo na mesma consulta, depois agente pensa nisso agora to ocupado. heBom saber disso pq estou querendo fazer um sistema desses para incrementar meu portalMuito boa sua ideia Ronan, gostei mesmo, não tinha pensado nisso, alguem apoia essa ideia ou se contrapõe ?Só tem uma coisa, e quantoa qualificação da relação, onde iria armazenar, tipo, bom amigo, amigo mais ou menos e talz. Compartilhar este post Link para o post Compartilhar em outros sites
Eduardo Sodre 0 Denunciar post Postado Outubro 28, 2008 axei esse topico aqui.. é antigo mas intereessante alguem tem uma ideia a mais sobre esse assunto? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Outubro 28, 2008 A SqlMagazine de uns meses atrás publicou um artigo sobre a modelagem e a matemática envolvida nestes problemas de relacionamento, pode lhe ser útil. Obs : Não lembro o número. Compartilhar este post Link para o post Compartilhar em outros sites