2010/3/5 Flávio Alves Granato <[email protected]>: > Não sei se é uma outra thread, mas eu gostaria de saber mais sobre > chaver atificial, tipo > quando é indicado para eu utilizar, assim pelo menos não utilizarei a > torto e direito.
Hm, vale um blogue. Para resumir, originalmente era para só o DBA ver chaves artificiais, no modelo físico. No modelo lógico, que deveria ser o único visível para usuários, aplicativos e ADs, apareceriam só as chaves naturais. Seria uma mera questão de desempenho; mesmo a pretensa complexidade das chaves compostas deveria ser abstraída pelas linguagens de programação, como aliás fazíamos em COBOL. Como o SQL não implementa chaves artificiais de verdade, até porque não separa o modelo lógico do físico, e como o suporte à abstração de chaves compostas é extremamente deficiente ou, até, inexistente em boa parte das linguagens de programação, acaba-se usando chave artificial quando a natural é composta de, digamos, mais de três atributos, conforme o gosto do freguês. Outro uso de chaves artificiais é quando nenhuma natural é estável, e o SGBD não suporta ON UPDATE CASCADE, mas eu, particularmente, prefiro alterações explícitas das chaves. Finalmente, há quem use chaves artificiais quando tem necessidades muito específicas de desempenho extremo, mas a maior parte das vezes elas impõem penalidades por aumentar os eventos de E/S ou por não garantirem unicidade. O que não se pode jamais fazer é definir apenas a chave artificial, e não a(s) natural(is). -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (11) 3854 7191 gTalk: xmpp:[email protected] +55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803 BRAZIL GMT-3 MSN: msnim:[email protected] _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
