2 FK para o mesmo campo....alguém pode ajudar......
Olá,
Estou desenvolvendo um sistema da seguinte maneira. Tenho uma tabela de fornecedores e uma tabela de clientes. E tenho também uma tabela de CONTATOS que eu guardo todos os tipos de contatos, tanto dos clientes como dos fornecedores. Com os seguintes campos:
CON_PESSOA = ´C´ se for Cliente e ´F´ se for fornecedor
CON_ID = grava o código do cliente ou do fornecedor, buscado nas respectivas tabelas.
O que estou tentando bolar é uma maneira de ligar a tabela contato nas tabelas cliente e fornecedor através do campo CON_ID.
Alguém faz alguma idéia de como proceder????
Muito obrigado, desde já....
Estou desenvolvendo um sistema da seguinte maneira. Tenho uma tabela de fornecedores e uma tabela de clientes. E tenho também uma tabela de CONTATOS que eu guardo todos os tipos de contatos, tanto dos clientes como dos fornecedores. Com os seguintes campos:
CON_PESSOA = ´C´ se for Cliente e ´F´ se for fornecedor
CON_ID = grava o código do cliente ou do fornecedor, buscado nas respectivas tabelas.
O que estou tentando bolar é uma maneira de ligar a tabela contato nas tabelas cliente e fornecedor através do campo CON_ID.
Alguém faz alguma idéia de como proceder????
Muito obrigado, desde já....
Lschmitk
Curtidas 0
Respostas
Emerson Nascimento
17/01/2007
avalie se criar tabelas auxiliares para relacionamento ´muitos para muitos´ não pode ser mais interessante...
+-------------------+ | Fornecedor | +-------------------+ |ID_FORNECEDOR (PK)||--------+ |NOME | | |ENDERECO | | |[ETC...] | | +-------------------+ | | +-------------------+ | +----------------+ | FornecedorContato | | | Contato | +-------------------+ | +----------------+ |ID_FORNECEDOR (PK)|>---+ +---<|ID_CONTATO (PK)|>-+ |ID_CONTATO (PK)|>-------+ |NOME | | +-------------------+ |TELEFONE | | |EMAIL | | +-------------------+ |[ETC...] | | | ClienteContato | +----------------+ | +-------------------+ | +------<|ID_CLIENTE (PK)| | | |ID_CONTATO (PK)|>---------------------------+ | +-------------------+ | | +-------------------+ | | Cliente | | +-------------------+ +--||ID_CLIENTE (PK)| |NOME | |ENDERECO | |[ETC...] | +-------------------+
GOSTEI 0
Aroldo Zanela
17/01/2007
Colega,
Creio que o correto é criar uma tabela detalhe (contato) para cliente e outra (contato) para fornecedor, eis que não há relacionamento entre clientes e fornecedores (ao meu ver). Além do modelo ficar mais legível, pode-se definir a chave estrangeira corretamente no banco, bem como, economizar um byte para cada contato cadastrado. Já pensou que economia? :lol:
Creio que o correto é criar uma tabela detalhe (contato) para cliente e outra (contato) para fornecedor, eis que não há relacionamento entre clientes e fornecedores (ao meu ver). Além do modelo ficar mais legível, pode-se definir a chave estrangeira corretamente no banco, bem como, economizar um byte para cada contato cadastrado. Já pensou que economia? :lol:
GOSTEI 0
Emerson Nascimento
17/01/2007
passei o exemplo que eu uso aqui na empresa, pois temos contatos que podem atender aos dois casos, mas creio que a forma sugerida pelo Aroldo é melhor no seu caso, visto que não haverá um contato relacionado com cliente e fornecedor ao mesmo tempo.
GOSTEI 0