Array
(
)

Iniciante - relacionship

R3n4n
   - 20 mar 2007

Bom, eu to com uma duvída sinistra em um caso de relação, eu não sei se conseguirei explicar mas vo tentar, dentro do possível me ajudem a esclarecer como eu posso resolver isso:

Vamos ao problema:

Bom no sistema que estou desenvolvendo existe as seguintes tabelas como os campos(vo citar apenas aquelas relevantes para o problema):
- CadastroProduto
(chave)CodigoProduto
- CadastroKit
(chave)CodigoProdutoKit
(chave)CodigoProdutoPertencenteAoKit
Quantidade
- ModuloSaidaProduto
(chave)CodigoSaida
CodigoProduto
CodigoKit

Bom, o CadastroKit é responsavem pelo cadastramento de kits do sistema, onde cada kit pode ser formado por diversos produtos, porém um kit É um produto. Ou seja, existe uma função no sistema que vc pode depois de clickar no produto inserir outros produtos nele transformando-o em um kit.

Ou seja, a tabela CadastroKit está relacionada com a tabela CadastroProduto da seguinte forma:
(chave)CodigoProdutoKit muitos para um com CodigoProduto
(chave)CodigoProdutoPertencenteAoKit muitos para um com CodigoProduto
Assim o sistema impedirá que exista um produto registrado como 2 kits diferentes (cada produto pode ser somente um kit) e cada kit não poderá ter 2 produtos iguais, caso o usuário queira fazer isso o sistema apenas alterará o campo quantidade.

Bom o problema vem aqui.

No ModuloSaida caso o produto de saida seja um kit (ou seja exista algum CodigoProdutoKit = ao CodigoProduto do modulo saida vinculado ao CodigoProduto do CadastroProduto | o Codigo produto do ModuloSaida seja = a algum CodigoProdutoPertencenteAoKit) o sistema deverá mostrar em qual kit o produto se encontra ou mostrar seu próprio código no campo CodigoKit do ModuloSaida.
ENTÃO FINALMENTE, eu não consigo vincular o CodigoKit do ModuloSaida com o CodigoProdutoKit do CadastroKit pq o CodigoProdutoKit é uma chave composta junto com o CodigoPertencenteAoKit. Como eu vinculo isso?

Resumindo:

CadastroKit ModuloSaida
[!]CodigoProdutoKit 1 -------------------------- ∞ []CodigoKit
[!]CodigoProdutoPertencenteAoKit

onde [!] é chave primária e [] é normal.

O sistema não deixa fazer esse vínculo pq chave composta para campo normal é uma relação de MUITOS para MUITOS.

Bom eu não sei se deu pra entender mas ta aí meu problema, se puderem me ajudem e desde já agradeço a vc que leu isso tudo só pra tentar me ajudar.