Em 17/02/2012 13:39, Guimarães Faria Corcete DUTRA, Leandro escreveu:
>> Eu digo um *monstrinho*, pois se eu tiver um login que é Email como PK, me
>> parece que se tiver uns 4 ou 5 relacionamentos que você pode colocar no
>> modelo (dependendo da solução), acho que pode começar a complicar as
>> consultas, não?
>
> Pelo contrário, evita junções desnecessárias.

        Quase nunca evita.

>> Pois, se eu tiver uma PK  varchar(100) para Email OU uma PK inteiro (ou
>> outro menor) para um código, *ACREDITO* que joins com código seja mais
>> eficientes, não?
>
> Não, como o Euler e o Flávio explicaram…  pelo contrário, quando
> precisares do endereço de correio eletrônico, o que é uma situação bem
> comum, com o uso de chaves artificiais como o teu código precisarás de
> junções para recuperá‐lo.

        O que acontece, é que num caso destes, normalmente você não quer o 
e-mail do usuário e sim o nome dele, ou a data de último login, ou a 
data de aniversário dele e a junção irá ocorrer da mesma forma.

        A não ser que faça sentido um relatório com a informação 
[email protected] ou [email protected] para identificar 
facilmente qual é o usuário que fez alguma coisa. Vejo como raríssimos 
os casos em que você não irá precisar de junção e nestes casos estão as 
entidades que tem uma chave natural óbvia como a UF da federação, tipo 
de pessoa: Física ou Jurídica, entre outros...

--
Shander Lyrio
http://about.me/shander
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a