To Tentando fazer a modelagem de um sistema, aqui pra empresa mas to mto perdido…
N sei c alguem pode me ajudar pq ta mto complicado…
tipo
Eh um sistema pra venda d plano de saude, consegui fazer 1 pkinho mas agora travei…
Tipo tenho 1 Entidade Venda, que tem ligação com 1 ITem Venda, so que ai eu me complikei, pq eu tenho 1 Cliente so q eu nao sei com quem o Cliente tem Ligação com pessoa Fisica ou Juridica.
Como fica um eskeminha simples de Venda…
Se alguem puder dar uma força vlw
Sem pensar muito sobre como resolver isto (no seu modelo) eu diria que o cliente pode ser tanto pessoa fisica como pessoa jurídica; ou seja, uma pessoa passando pela rua pode entrar no estabelecimento e comprar ou algum comprador de uma grande empresa pode ligar e comprar também. Logo, o cliente pode ser tanto pessoa fisica como pessoa jurídica.
Eu entendi que vc tem 2 tabelas, uma para pessoa fisica e outra para pessoa juridica certamente você tera que colocar 2 colunas (ID_PESSOA_JURIDICA, ID_PESSOA_FISICA) na tabela de clientes como FK para estas tabelas.
Por uma acaso vc está pendando que deveria ser utilizado uma única coluna na tabela de clientes?
Se for isso a coisa pode complicar porque os chaves certamente vão se repetir e vc não saberá quem é o quê (fisica ou juridica) dando inicio a uma ciranda de gambiarras para controlar o trio.
Já vi casos que havia uma única tabela para a entidade pessoa mas ficava com algumas colunas vazias dependendo do tipo de pessoa que era inserida não me pareceu uma boa idéia.
Exatamente grand Fantomas. foi o que pensei, por isso to com essa duvida…
o unico jeito d fazer isso seria, com 2 colunas mas eu achei q msm assim teria um jeito mais pratico…
kkk o cara aki q ta modelando comigo ele keria fazer Cliente PF, PJ, Venda PF, Venda PJ…
Falei af assim ta horrivel neh…
Então a principio é isto mesmo… o que eu acho que pode ser chato nesta idéia é que quando for incluido um cliente do tipo pessoa fisica a coluna correspondente da pessoa juridica irá ficar nula sem falar que não existe (que eu saiba) cliente que pode ser tanto pessoa fisica e pessoa juridica ao mesmo tempo isto teria que ser controlado via aplicação para não acontecer. Outro ponto são as instruções sqls vc tera que ficar verificiando se uma das colunas é nula para determinar que tipo de cliente vc está acessando e por ai vai… Talvez utilizando JOIN a coisa fique mais tranquila, se for utilizar ORM (Hibernate, JPA, etc…) acredito que eles resolvam “automaticamente”.
Existe outra idéia que é a seguinte:
Criar mais uma tabela, então ficaria assim por exemplo CLIENTE, DADOS_CLIENTE, PESSOA_FISICA, PESSOA_JURIDICA; na tabela DADOS_CLIENTE fica os dados comuns entre pessoa juridica e pessoa fisica, a chave desta tabela (DADOS_CLIENTE) iria como FK para PESSOA_JURIDICA ou PESSOA_FISICA dependendo do tipo do cliente (isto controlado pela aplicação) e por último a chave iria como FK para a tabela CLIENTE. Acho que isto consiga eliminar a situação de ter 2 colunas. Nas instruções sqls ainda teria que utilizar o JOIN para resolver a questa dos dados complementares estar em uma tabela ou em outra.