Fernando e Alexsandro,
obrigado pelas dicas.

Vou tentar implementar utilizando herança e ver como fica a recuperação 
dos dados.

Até
André



Alexsandro Haag escreveu:
> Olá André,
>  neste caso poderia fazer os dois selects unidos pela cláusula UNION, 
> retornando tudo como se fosse uma tabela só. Ou ainda ter uma view 
> para isso. Ou ainda utilizar neste caso os recursos de orientação a 
> objeto do Postgres e fazer as tabelas Fisica e Juridica serem uma 
> especialização da tabela Entidade através do recurso de herança.
>
> Os tipos fornecedor e cliente sugeridos pelo Fernando poderíam também 
> continuar sendo tabelas complementares a Entidade, assim como são as 
> física e jurídica, principalmente se possuírem campos distintos que 
> justifiquem isso. Além do que, utilizando como um tipo ainda haveria o 
> problema da Entidade poder somente ser de um tipo específico.
>
> Att.
> Alex
>
> André Ormenese ( Yahoo ) escreveu:
>> Ok Fernando obrigado pela atenção !!!
>> Mas de qquer forma terei uma tabela ( entidade ) que se relaciona com 
>> outras duas tabelas ( Física e Jurídica ).
>>
>> Para selecionar todos os dados ( sei que não é uma forma legal de obter 
>> dados, mas vale como exemplo ) de uma entidade eu teria que fazer 
>> separadamente ?
>>
>> Ou seja, primeiro busco os dados na tabela entidade/física e depois em 
>> outro select busco os dados de entidade/jurídica. É isso ?
>> Valeu
>> André
>>
>> Fernando França escreveu:
>>   
>>> Bom dia André,
>>>
>>> Não sou nenhum fera em modelagem mas arrisco a te dar a seguinte sugestão:
>>>
>>> Criar uma tabela de "Entidade" pois nesse universo temos pessoas sejam
>>> elas físicas ou jurídicas, clientes ou fornecedores.
>>>
>>> Com isso, você teria na verdade uma tabela de correspondência, onde
>>> imagino que existiria uma relacionamento de 1 para muitos com a tabela
>>> de entidade (1 entidade pode ter N entradas na tabela de
>>> correspondência), ou seja, elimina aí a necessidade de 2 tabelas de
>>> correspondência visto que a partir da tabela pessoa você reconhece
>>> facilmente se ela é física/jurídica, cliente/fornecedor (usando
>>> atributos e relacionamentos definidos por você).
>>>
>>> Vou tentar esboçar:
>>>
>>> Entidade:
>>> idEntidade(PK)
>>> nome
>>> ...
>>> idTipoPessoa(FK)
>>> idTipoEntidade(FK)
>>>
>>> Fisica:
>>> idEntidade(FK)
>>> CPF
>>> ...
>>>
>>> Jurídica:
>>> idEntidade(FK)
>>> CNPJ
>>> ...
>>>
>>> Correspondencia:
>>> idEntidade(FK)
>>> Sequencial
>>> ...
>>>
>>> Ou seja, cada entrada na tabela Entidade pode ser identificada como
>>> física ou jurídica através das respectivas tabelas. Bem como o tipo
>>> dessa entidade: se é cliente, fornecedor ou qualquer outro tipo.
>>>
>>> A correspondência se relaciona com a Entidade, independente de sua
>>> natureza ou tipo. Um modelo conceitual ajudaria mas agora não tenho
>>> como fazer infelizmente.
>>>
>>> Espero ter ajudado.
>>>
>>> --
>>> Fernando França
>>> linux user #263682
>>>
>>> gtalk: furansa
>>> skype: fernando_desconstruindo
>>>
>>> http://desconstruindo.eng.br
>>> http://www.cbpf.br/~lsd
>>> http://www.rnp.br/keyserver/pks/lookup?search=0xB5E21164
>>>
>>> Por favor considere o meio ambiente antes de imprimir esta mensagem.
>>> S'il vous plaît à l'environnement avant d'imprimer ce message.
>>> Please consider the environment before printing this message.
>>>
>>>
>>>
>>> 2009/5/14 "André Ormenese ( Yahoo )" <[email protected]>:
>>>   
>>>     
>>>> Pessoal,
>>>> sei que esta lista não é para isso, mas sei que tem um pessoal muito
>>>> fera em modelagem de dados aqui.
>>>> Se alguém puder dar um pitaco ...
>>>> O problema é o seguinte : Tenho uma tabela de clientes,  e uma de
>>>> fornecedores. Preciso registrar todas as correspondências enviadas a
>>>> cada cliente e a cada fornecedor. A minha dúvida é se eu posso armazenar
>>>> estas correspondências numa tabela só, com a seguinte estrutura.
>>>> codigo da corresp.
>>>> codigo do destinatario
>>>> tipo do destinatario
>>>> data da corresp.
>>>>
>>>> Onde, codigo do destinatario, hora pode ser do cliente, hora do
>>>> fornecedor. Esta solução me parece estranha. O correto seria uma tabela
>>>> de correspondência para clientes e outra para fornecedor ???
>>>>
>>>> Obrigado
>>>> André
>>>> _______________________________________________
>>>> pgbr-geral mailing list
>>>> [email protected]
>>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>>
>>>>     
>>>>       
>>> _______________________________________________
>>> pgbr-geral mailing list
>>> [email protected]
>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>>
>>>   
>>>     
>>
>> _______________________________________________
>> pgbr-geral mailing list
>> [email protected]
>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>>
>>   
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>   

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

Responder a