Relacionamento de 3 tabelas (CLIENTES, FUNCIONARIOS E FORNECEDORES) com uma tabela de CONTATOS

MySQL

Banco de Dados

Modelagem

20/03/2018

Como faço para relacionar 3 tabelas (CLIENTES, FORNECEDORES e FUNCIONÁRIOS) com uma tabela de CONTATOS ? Qual seria a melhor opção ? Migrar 3 chaves estrangeiras ? ou criar um campo como ORIGEM_ID e ORIGEM_TABELA para identificar de qual tabela vem o ID.
Jose Mani

Jose Mani

Curtidas 0

Melhor post

Renata Fraga

Renata Fraga

20/03/2018

Pensou na ideia de utilizar o conceito de generalização/especialização dessas entidades? Clientes, Funcionários e Fornecedores se tratam de pessoas (Físicas e Jurídicas). Talvez dependendo dos campos que deseja, não há a necessidade de criar três entidades separadas e sim uma generalização e especialização de Pessoa Física e Jurídica. Pode inclusive, criar um campo do tipo de usuário colocando uma sigla F - Funcionário e C - Cliente.
GOSTEI 6

Mais Respostas

Luiz Santos

Luiz Santos

20/03/2018

José.

Se sua base já existe, suas tabelas tiverem chaves independentes para cada uma das tabelas, sendo que pode ter repetição entre elas, melhor você usar o ORIGEM_ID e o ORIGEM_TABELA como chave estrangeira.

Se vc ainda estiver criando essas tabelas, a idéia da Renata é a melhor solução.

Grande abraço
GOSTEI 2
Jose Mani

Jose Mani

20/03/2018

Renata, no caso de ter que especialização da entidade seria dividir em Pessoa Física e Jurídica. Faço duas tabelas (Pessoa Física e Pessoa Jurídica) ou uma tabela Pessoas e crio um campo TIPO_PESSOA (pj/pf) ? da mesma maneira como faço para o tipo de usuario (fun / cli / for ) ? E os atributos especificos de cada tipo de pessoa como CPF / CNPJ , RG / IE ?
GOSTEI 0
Renata Fraga

Renata Fraga

20/03/2018

Na entidade Pessoa (que seria a entidade pai) você colocaria um identificador para poder relacionar com as entidades filhas,.Você deve criar duas tabelas filhas: Física e Jurídica. Nela, você vai colocar características específicas daquela entidade. Ou seja, CNPJ, IE , Razão Social, Nome Fantastia etc - Jurídica e CPF, RG, Nome Completo, etc em Física.
GOSTEI 2
Jose Mani

Jose Mani

20/03/2018

Obrigado pela ajuda. Já clareou bastante.
GOSTEI 0
POSTAR