2008/6/23 Alexsandro Haag <[EMAIL PROTECTED]>:
> Se for o caso, chame de PESSOA então. O nome da entidade não altera a
> questão. O que me refiria era sobre poder manter o cadastro na mesma
> entidade. Independente do nome que tiver.

Mas tem de separar as características específicas, não pode ficar só
um tabelão.  Por isso a idéia (ortodoxa, por sinal) de entidades que
se vão especializando.


>     Eu os criaria como chaves secundárias, não como primárias ou únicas.

Numa tabela pessoa, nem estarão presentes.  Mas numa de pessoa física
e noutra de jurídica, sim, e como chave.  Preferencialmente, mas não
necessariamente, primárias (pressupondo que, num ERP, só vamos ter
pessoas assim identificáveis).


> Isso muitas vezes depende de como o cliente quer tratar sua base. Por
> exemplo ele pode não possuir 2 empresas com CNPJs diferentes, mas quer
> trabalhar como se tivésse, devido a alguma logística sua. Pode ter por
> exemplo a indústria num prédio dos fundos e a loja no prédio da frente e vai
> querer fazer uma transferência de produto de uma unidade para outra.

Então é um erro de modelagem.  Não são duas empresas; são dois
endereços duma mesma empresa.


> Claro que há outras maneiras de tratar isso, poderíamos por exemplo obrigar
> o cliente a registrar uma outra empresa/filial para a loja, mesmo elas
> estando no mesmo endereço, o que seria o mais correto a fazer. Mas na
> prática isso não é flexível para o cliente.

Faça o que é correto.  Como apresentar é outro assunto.

E como a gente faria esse tipo de gambiarra num modelo de referência.


> Ou poderíamos ainda acrescentar uma sequencia que complementasse o CNPJ e a
> PK ficaria CNPJ + sequencia, mas acho neste caso seria mais simples criar ID
> sequencial e uma rotina para alertar, mas não bloquear o usuário quando
> tentar criar um cliente que já exista no cadastro.

BZZZZT!  Errado!  É para isso que existem chaves, para evitar duplicados.


-- 
skype:leandro.gfc.dutra?chat Yahoo!: ymsgr:sendIM?lgcdutra
+55 (11) 3040 7300 r155 gTalk: xmpp:[EMAIL PROTECTED]
+55 (11) 9406 7191 ICQ/AIM: aim:GoIM?screenname=61287803
+55 (11) 5685 2219 MSN: msnim:[EMAIL PROTECTED]
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a