[firebase-br] Auto relacionamento m:n

Fábio Marques fmarques em nautilus.com.br
Sáb Maio 23 11:04:27 -03 2009


        Okay Douglas,

    Compreendi sua colocação a respeito do espaço, mas irei priorizar a 
performance e a facilidade de verificar um único atributo (usuario_origem).

Muito grato,

-- 
F. Marques
Systems Analyst/IT Consultant
E-mail/MSN: fmarques em nautilus.com.br
Home Page: www.nautilus.com.br/~fmarques
Mobile: 91 8208-5996 (TIM) & 8859-3998 (OI) / ICQ: 267-074-196
Linux Registred User #362204 (debian 5.0 "Lenny")
Brazilian Computer Society Member #18201

"The box said: Requires MS Windows or better, so I instaled Linux"


Douglas Tosi wrote:
> 2009/5/22 Fábio Marques <fmarques em nautilus.com.br>:
>   
>>   Logo, não trata-se de um auto relacionamento trivialmente visto por ai, do
>> tipo, funcionário/gerente, onde temos a hierarquia que diferencia as tuplas
>> envolvidas. Então poderia ter-se a seguinte modelagem:
>>
>>         Usuario (_id_, nome);
>>         Usuario_has_Usuario(usuario1, usuario2, aceitacao);
>>     
>
> Opção:
> Na sua usuario_has_usuario, você fixa quem é o amigo de origem do
> pedido e quem é o de destino.
> Usuario_has_Usuario(usuario_origem, usuario_destino, aceitacao);
>
> Uma relação de amizade entre joão e pedro ficaria:
> joão, pedro, sim
> pedro, joão, sim
>
> Veja que você teria dois registros. Um que vai outro que vem, por assim dizer.
> Isto permite que você pesquise sempre no campo origem e use um índice
> com eficiência.
>
> É uma troca. Seu sistema fica mais simples e talvez mais rápido, mas
> consome mais espaço.
> Põe na balança as duas (ou mais) soluções e escolhe qual está de
> acordo com as necessidades e restrições do seu projeto.
>
> hth,
>   




Mais detalhes sobre a lista de discussão lista