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