[résolu] conception : table des dépendances
Bonjour,
un petit problème de conception...
Voilà ce que je veux faire : gérer les dépendances entre programmes.
Exemple : un programme A appelle B, qui lui même appelle C.
Je veux pouvoir connaître tous les programmes appellant C directement
ou indirectement. Donc A et B dans mon exemple.
J'avais pensé à une simple table TAPPEL (APPELLANT, APPELLE), c'est
simple à remplir :
Code:
1 2 3
| APPELLANT APPELLE
A B
B C |
Ensuite la requête
Code:
1 2 3
| SELECT APPELLANT
FROM TAPPEL
WHERE APPELLE = 'C' |
me ramène seulement B ; pour avoir aussi A je dois faire :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| SELECT APPELLANT
FROM TAPPEL
WHERE APPELLE = 'C'
UNION
SELECT APPELLANT
FROM TAPPEL
WHERE APPELLE IN
( SELECT APPELLANT
FROM TAPPEL
WHERE APPELLE = 'C'
) |
mais si j'ai plus de 2 niveaux d'appel (ex : C appelle D et je veux connaître
tous les appellants de D) je dois rajouter encore une UNION et ainsi de suite...
Bref vous l'aurez compris, je voudrai que tout cela fonctionne quelque soit
le niveau d'imbrication... Alors une idée ? Une requête qui permet de faire cela ?
Ou peut-être une table faite différemment ?
Merci d'avance...