2008/7/18 Marcelo Costa <[EMAIL PROTECTED]>:
> Veja bem, é lei. uma entidade (empresa) precisa ter seu CNPJ associada ao
> seu endereço que são únicos, uma escola obrigatóriamente precisa ter seu
> CNPJ pois se não tiver alguém está  infringindo a lei. Coi$a que é muito
> comum entre Prefeituras para camuflar gasto de recurs$o$. Mas isto não é o
> certo portanto por padrão deveria sim cada escola possuir seu próprio CNPJ.

A questão, aqui, é o que se está modelando.  Se é qualquer pessoa
física com a qual se possa fazer negócio, e isso inclua prefeituras
que infringem a lei, isso vai me impedir de fazer negócios com elas?
É uma pergunta cuja resposta fica em aberto, e isso exigiria, creio,
uma modelagem mais rica.


> Há uma discusão que prega o uso de chaves artificiais ao invés de chaves
> naturais. Eu acredito no ,depende do caso, e que deve haver um bom censo
> entre quem desenvolve o software e quem aprova o modelo de dados. Como dito
> antes pelo Alecindro você pode criar atributos UNIQUE e assim matar as
> duplicidades. Nem sempre as chaves naturais resolverão teus problemas, bom
> censo é a chave para mim.

Mas aí você já está fazendo uma confusão conceitual.

Em primeiro lugar, nunca se podem usar chaves artificiais em vez de
naturais.  O que se pode é complementarem as chaves naturais com uma
artificial; e, isso feito, pode-se escolher essa chave artificial como
primária.

Em segundo lugar, e talvez explicando a primeira confusão, não existem
atributos UNIQUE.  O que existem são chaves alternativas, que são
todas as chaves candidatas que não a primária.  Essas chaves
alterantivas são expressas como restrições de integridade de
unicidade, ou seja, CONSTRAINT UNIQUE, as quais por sua vez são
implementadas por meio de índice.  Mas tudo isso pode incidir sobre
'n' atributos, não sendo portanto característica de atributo em si.

As chaves naturais sempre resolvem problemas.  A questão é que a falta
de independência de dados no ISO SQL atual, e portanto nos SGBDs SQL,
podem em certas situações criar outros problemas que podem ser
solucionados com a criação de uma chave artificial, primária ou não.


> Aqui http://geekswithblogs.net/codesailor/archive/2005/11/05/59184.aspx há
> uma boa discussão sobre este assunto.

Eu concordo com o autor em termos gerais, mas veja que ele faz a mesma
confusão de desprezar as chaves compostas.


> Na minha opnião para esta questão, não há uma resposta 100% certa e tão
> pouco 100% errada.

Mas se não soubermos os conceitos muito claramente, não haverá nem
como discutir.


-- 
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
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a