Em 17/02/2012 15:05, Guimarães Faria Corcete DUTRA, Leandro escreveu:
> Consegui, como não?  Mas não existe solução genérica, é sempre
> conforme os requisitos e regras organizacionais (vulgo ‘de negócios’).

        Conseguiu, eu não me lembro disso não, pode me refrescar a memória? 
Qual atributo usou? Depende da empresa né? Você sugere então que 
tenhamos um modelo de banco de dados para cada empresa. Este mundo 
fantástico não existe.

>>         Quem desenvolve sistemas para vários clientes, com regras diferentes
>> percebe rapidamente, que ser generalista resolve os problemas mais
>> facilmente e sem dor, um índice unique é muito mais simples para
>> garantir unicidade
>
> Só que não garante unicidade… e tenho cabelos brancos por isso… é
> simples: sem chave natural, é só ir inserindo as mesmas informações,
> vez após vez, e pronto.  Cadê a unicidade?  Se, por acaso, o sistema
> confere algo para evitar essa multiplicação de dados, esse algo é a
> chave natural…

        Como é que é?? Um índice unique não garante unidade?? Para que ele 
existe então? No banco de dados, uma chave primária tem garantia de 
unicidade exatamente pelo índice unique que é gerado. O fato é que o 
modelo genérico que eu proponho, resolve o problema para qualquer tipo 
de cliente. Se ele cadastra o campo em que eu tenho um índice unique o 
sistema avisa da duplicidade, se não não avisa, o risco fica por conta 
do cliente sem que eu o obrigue a fazê-lo, isto é uma simples decisão de 
engenharia, custo/benefício da solução. Da sua forma, o cliente é 
obrigado a fazer caso contrário o sistema não funciona.

>>         No geral, são muito mais raros os sistemas feitos para rodar em 
>> apenas
>> um cliente.
>
> Na tua experiência, acredito…

        Fora quando a empresa desenvolve seu próprio sistema (exceção), os 
sistemas são feitos geralmente para rodar em vários clientes. Exemplos? 
SAP? Oracle? postgresql? Inúmeros ERP's e CRM's. Conta-se nos dedos os 
sistemas feitos para uma única empresa, então impor sua realidade num 
mundo que não é assim tão perfeito quando você sonha não ajuda.

        Seria muito legal se cada cliente tivesse o seu sistema específico, com 
seu banco de dados modelados de acordo com suas regras (a maioria nem 
tem estas regras), eu teria serviço de DBA para o resto da minha vida.

--
Shander Lyrio
http://about.me/shander
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a