Em 13/08/2008, às 12:44, Shander Lyrio escreveu:

>
> Ribamar Sousa wrote:
>>
>> Mas e se o bichim correr atraz da gente? :)
>>
>
>       Aí agente utiliza default! ;)

Acho importante observar os seguinte: Na boa modelagem nós fugimos de  
nulos, mas muitas vezes utilizamos alguns campos nulos concientemente.
Usar nulos, como quase tudo em modelagem, tem um custo e um benefício  
que dependem do cenário onde é utilizado.

Esse blablabla é para dizer o seguinte, quando o campo deve ser nulo,  
use nulo mesmo. Ou seja, colocar um campo texto como vazio '', ou usar  
informações default falsas não são uma boa estratégia. Afinal o  
significado do NULL é valor desconhecido (ou indisponível ou não  
aplicável) e quando esse for o caso devemos usar sim o NULL.

E já respondendo a pergunta do Alisson, fugimos dos nulos porque ter  
esses valores desconhecidos espalhados no banco dificultam a  
manipulação dos dados, basta ver como o nulo se comporta de forma  
diferenciada em diversas operações. Além disso, muitos nulos podem  
indicar alguma modelagem mais elegante que elimina os nulos, o exemplo  
clásssico é a especialização de tabelas.

Mas quando tu diz que nulo alivia a carga do banco, isso pode ser  
verdade, pois em alguns casos usamos os nulos justamente para evitar a  
criação de tabelas adicionais, evitando também junções adicionais nas  
consultas.

Um caso simples onde eu uso nulos é quando tenho o campo endereço em  
uma tabela de pessoas por exemplo, e a minha regra de negócio diz que  
a informação de endereço pode ou não ser dada pelo usuário. Nesse caso  
não vejo justificativa para não permitir o nulo ou para criar outra  
tabela, ai acabo cedendo ao princípio KISS.

--
Diogo Biazus
[EMAIL PROTECTED]
http://www.softa.com.br
http://www.postgresql.org.br

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a