Definir pessoa como cliente/fornecedor/funcionário
Pessoal,
eu possuo um cadastro de pessoas e cada pessoa pode ser um Cliente e/ou funcionário e/ou Fornecedor.
Por exemplo: Um funcionário da minha empresa pode comprar meu serviço ou produto...e pode me fornecer outros tipos de serviços que terei que pagar à parte.
Como estou pretendendo fazer:
criar 3 campos:
Cliente = S/N
Funcionario = S/N
Fornecedor = S/N
Dizendo se ele é um Cliente, funcionário ou fornecedor.
O que acham dessa prática? quem já teve essa experiência? Existe meios melhores na opinião de vocês?
Abraços.
eu possuo um cadastro de pessoas e cada pessoa pode ser um Cliente e/ou funcionário e/ou Fornecedor.
Por exemplo: Um funcionário da minha empresa pode comprar meu serviço ou produto...e pode me fornecer outros tipos de serviços que terei que pagar à parte.
Como estou pretendendo fazer:
criar 3 campos:
Cliente = S/N
Funcionario = S/N
Fornecedor = S/N
Dizendo se ele é um Cliente, funcionário ou fornecedor.
O que acham dessa prática? quem já teve essa experiência? Existe meios melhores na opinião de vocês?
Abraços.
[vaza]
Curtidas 0
Respostas
Pestana_
21/05/2009
este tópico passou despercebido por mim, não sei se você encontrou a solução, mas vai a minha contribuição.
neste caso eu utilizava o conseito de generalização/especialização, com isso fica fácil!
Pessoa (generalizado)
cliente, funcionario, fornecedor (especializados)
neste caso eu utilizava o conseito de generalização/especialização, com isso fica fácil!
Pessoa (generalizado)
cliente, funcionario, fornecedor (especializados)
GOSTEI 0
Jair Bg
21/05/2009
Existe a real necessidade para filtragem (cliente, funcionário e fornecedor)?
o seu cadastro deve ser geral para pessoa porém este tipo de filtragem pode ser feito em outras tabelas.
o seu cadastro deve ser geral para pessoa porém este tipo de filtragem pode ser feito em outras tabelas.
GOSTEI 0
Eleuterio Gonzalez
21/05/2009
Crie uma tabela com tipo de pessoa onde vc criara o que a pessoa podera ser , ou mesmo um campo CD_status Tipo Boolean que armazena se pessoa e um cliente = TRue e assim por diante.
Mas eu particularmente criaria uma tabela Cliente outra fornecedor e outra funcionario tendo todas uma FK da tabela pessoas.
Mas eu particularmente criaria uma tabela Cliente outra fornecedor e outra funcionario tendo todas uma FK da tabela pessoas.
GOSTEI 0
Rogerio
21/05/2009
...Mas eu particularmente criaria uma tabela Cliente outra fornecedor e outra funcionario tendo todas uma FK da tabela pessoas.
Eu prefiro utilizar este conceito de generalização/especialização. Acredito que fica mais organizado o banco e garante a consistência dos dados.
GOSTEI 0
Thiago Santana
21/05/2009
Uma boa dica foi a dada pelo Eleuterio!
Utilize 4 tabelas: Pessoas, CLientes, Fornecedores e Funcionários... Onde todas tenha uma chave estrangeira da tabela pessoas.
Aí vc faz o relacionamento certinho e de acordo com o nível da pessoa vc grava em determinada tabela!
Espero ter ajudado... AbraçoO
Utilize 4 tabelas: Pessoas, CLientes, Fornecedores e Funcionários... Onde todas tenha uma chave estrangeira da tabela pessoas.
Aí vc faz o relacionamento certinho e de acordo com o nível da pessoa vc grava em determinada tabela!
Espero ter ajudado... AbraçoO
GOSTEI 0
Carlos Mazzi
21/05/2009
Concordo, (up)...
GOSTEI 0
Flavio França
21/05/2009
No meu eterno aprendizado criaria as tabelas cliente funcionário fornecedor, mas adcionaria uma nova tabela o tipo pessoa e ai poderiamos facilmente atribuirmos a cada pessoa uma ou mais funções para uma pessoa, embora veja que somente seja necessário o relacionamento, porque só em ter um relacionamento na tebela fornecedor com a pessoa já indique que uma pessoa fornecedora e também caso seja relacionado com a tabela cliente indique que a pessoa também é um cliente e assim vai.
GOSTEI 0