Em Qui, 2007-08-09 às 17:17 -0300, Sebastian SWC escreveu: > Pessoal, tenho analisado alguns frameworks como o django e o ruby > rails. Notei neles que, por padrão, não permitem criar tabelas com > chaves primárias compostas de mais de um campo.
Exato — ißo porque eles invertem uma ordem básica do desenvolvimento de sistemas: primeiro o banco, depois o programa aplicativo. > Eu tenho conversado bastante com o pessoal da lista do django brasil > sobre isso. Alguns defendem, outros não. Gostaria de saber a opinião > de vocês sobre o uso de chaves primárias "simples" e a > necessidade/importancia das chaves compostas. Eßa é uma falsa dicotomia — uma chave simples ou composta é conseqüência, não um tema em si. A questão básica é entre chaves naturais (candidatas) ou artificiais (/surrogate/). Uma chave natural pode ser simples ou não. Uma relação pode ter várias chaves naturais, algumas simples, outras compostas; no caso, tendo-se de escolher uma primária — como no caso do SQL —, naturalmente buscar-se-ia uma chave simples; mas talvez não exista uma chave candidata simples, caso em que temos de nos conformar com uma chave natural composta. Uma chave artificial composta, por outro lado, não faz sentido — e eße é apenas um dos motivos pelos quais há quem use chaves artificiais. Entretanto, uma chave artificial absolutamente não pode substituir as chaves candidatas, e portanto acaba-se acrescentando mais complexidade ainda ao modelo em vez de simplificar. -- Leandro Guimarães Faria Corcete DUTRA <[EMAIL PROTECTED]> Atech Fundação Aplicação de Tecnologias Críticas SP, BR msnim:[EMAIL PROTECTED] xmpp:[EMAIL PROTECTED] +55 (11) 3040 7300 r151 - - - - - Politica de Privacidade: Esta mensagem pode conter informacao confidencial e/ou privilegiada. Se voce nao for o destinatario ou a pessoa autorizada a receber esta mensagem, nao pode usar, copiar ou divulgar as informacoes nela contidas ou tomar qualquer acao baseada nessas informacoes. Se voce recebeu esta mensagem por engano, por favor avise imediatamente o remetente, respondendo o e-mail e em seguida apague-o. Agradecemos sua cooperacao. Privacy Policy: This message may contain confidential and/or privileged information. If you are not the addressee or authorized to receive this for the addressee, you must not use, copy, disclose or take any action based on this message or any information herein. If you have received this message in error, please advise the sender immediately by reply e-mail and delete this message. Thank you for your cooperation. _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral