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

Responder a