Relacionamento de 3 tabelas (CLIENTES, FUNCIONARIOS E FORNECEDORES) com uma tabela de CONTATOS
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
Curtidas 0
Melhor post
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
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
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
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
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
20/03/2018
Obrigado pela ajuda. Já clareou bastante.
GOSTEI 0