Relacionamento Composto

Delphi

10/02/2005

Caros amigos :D
Desculpem a tralha toda mas para mim ficou complicado e não
sabia bem como fazer a pergunta e resolvi detalhar para ver
se consigo expor com clareza minha dificuldade e dúvida.

tabela 2
Campo 1 = a02cod (inteiro)
Campo 2 = a02nome1 (string)
Campo 3 = a02coef (float)
Campo 4 = a02uni (string)
Campo 5 = a02vlr (float)
a02cod - chave

tabela 3
Campo 1 = a03cod
Campo 2 = a03nome2 (string)
Campo 3 = a03coef (float)
Campo 4 = a03uni (string)
Campo 5 = a03vlr (float)
a03cod - chave

tabela 4

Campo 1 = a04cdc (inteiro)
Campo 2 = a04cdi (inteiro)
Campo 3 = a04coef (float)
a04cdc - chave
a04cdi - chave

onde :
a03cod = a04cdc (inteiro)
a02cod = a04cdi (inteiro)

ex.:
tabela 2
a02cod a02nome1 a02coef a02uni a02vlr
9043 servente 1,00 h 5,00
9046 pedreiro 1,00 h 10,00
9010 cavador 1,00 h 20,00

tabela 3
a03cod a03nome2 a03coef a02uni
4000 Escavação tipo 1 1,00 m3


tabela 4

a04cdc a04cdi a03coef
4000 9043 2,00
4000 9046 4,00
5000 4000 1,00
5000 9010 50,00

Que é uma relação de 1 para vários

Obtida facilmente com Master Detail ou query parametrizada (a03cod)
onde terei:

a03cod a03nome2 a03coef a03uni a03vlr
4000 Escavação tipo 1 1,00 m3 50,00

9043 servente 2,00 h 10,00
9046 pedreiro 4,00 h 40,00

o que desejo:

Se criar na tabela 3 um outro tipo de escavação tipo 2 a partir da
escavação tipo 1 teremos

tabela 3
a03cod a03nome2
5000 Escavação tipo 2 1,00 m3 1050,00
a03cod - chave

onde terei a seguinte indicação na
tabela 4

a04cdc a04cdi a04coef
5000 +4000 1,00
5000 9010 50,00

Que é a nova relação que desejo criar


a03cod a03nome2 a03coef a03uni a03vlr
5000 Escavação tipo 2 1,00 m3 1050,00

+ 4000 Escavação tipo 1 1,00 m3 50,00
9010 Cavador 50,00 h 1000,00


Quando clicar na linha ou no + 4000 terei no meu grid o seguinte:

A Composição composta expandida


5000 Escavação tipo2 1,00 m3 1050,00
9043 servente 2,00 h 10,00
9046 pedreiro 4,00 h 40,00
9010 Cavador 50,00 h 1000,00

A minha pergunta é a seguinte como relacionar as tabelas e definir
as chaves para poder criar estas composições resumida e a composta.

Até pode ser em três dbgrid´s, porém não sei como criar as chaves
e ou as respectivas query´s.

Tem algum exemplo/demo disso na rede, não consegui achar nada?

Se alguem puder me ajudar fico muito grato. :idea: :?: :!:

saudações

drozinski


Paulo Drozinski

Paulo Drozinski

Curtidas 0
POSTAR