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
