Le 20 mai 2015 09:00, "Matheus de Oliveira" <[email protected]> a écrit : > > On Wed, May 20, 2015 at 12:25 AM, Danilo Silva <[email protected]> wrote: >> CREATE TABLE _cargos ( >> car_codcargo integer[], >> ... ); >> >> CREATE TABLE _funcionarios ( >> fun_codfunc serial, >> fun_codcargo integer[] NOT NULL, >> ... ); > > Você pode fazer com triggers, mas não é tão fácil quanto parece, por causa da concorrência. O melhor mesmo nesse caso seria utilizar uma tabela de ligação, modelo tradicional.
O tradicional, neste caso, também é ótimo, por tornar o modelo mais transparente. Ajudaria também melhorar a convenção de nomenclatura, evitando os prefixos de nome de relação (tabela) nos nomes de atributos (campos). O nome de atributo ser igual ao do domínio (sem prefixo de nome de relação) inclusive facilita a escrita de SQL, não somente sendo mais concisos mas ainda permitindo, por exemplo, junções implícitas. Outra dica é declarar chaves naturais, não apenas as artificiais, que geralmente são redundantes. -- skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra +55 (61) 3546 7191 gTalk: xmpp:[email protected] +55 (61) 9302 2691 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
