2008/8/14 Euler Taveira de Oliveira <[EMAIL PROTECTED]> > Ribamar Sousa escreveu: > > Se eu permitir que um campo que é a chave estrangeira seja nulo estou > > quabrando a integridade, pois em sendo nulo o relacionamento já é > > permitido (quando somente deveria ser permitido se o campo da FK fosse > > igual ao da PK da outra). > > > Você não está quebrando a integridade porque a informação pode ser > desconhecida; por outro lado, se a informação for conhecida, ela tem que > estar de acordo com a tabela referenciada.
Me referi ao fato de em se permitindo nulo, veja o que ocorre: clientes produtos codigo(pk) codigo (pk) nome cod_pessoa()fk No exemplo acima, posso cadastrar um produto sem indicar o cliente, pois a FK permite nulo. > > > Em um campo de telefone, se eu aceitar nulo eu poderei tem telefones > > duplicados. Uma saída para isso eu adotei o índice parcial (no exemplo > > que divulguei do banco pessoa). > > > Ugh? Veja bem, NULL é "diferente" de NULL (na verdade, é uma expressão > desconhecida, ou seja, NULL). Partindo dessa premissa, duas tuplas > contendo NULL não estão duplicadas. > Tens razão. Todos os NULOS são nulos e aparentemente duplicados, mas como NULL é diferente de NULL, não estão duplicados. Mas a que eu quiz me referir com a idéia foi que isso é algo indesejável e que sugestão contornava isso. -- Ribamar FS - [EMAIL PROTECTED] http://ribafs.net
_______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral