Bonjour pachou8,
Envoyé par
pachou8
j’espère que vous ne serez pas trop dur avec mon titre et que vous allez m'aider sur le mcd d'un hôpital.
Rassurez-vous, vous êtes ici à l’hôpital des MCD
La boucle vous tracasse... Traduisons cela ainsi : selon votre MCD, si le patient <Pj> fait l’objet du type d’analyse <Ai> et du test de type <Tk>, rien n’interdit que <Tk> relève du type d’analyse <Ah> différent de <Ai> et ne concerne donc aucunement ce malheureux patient qui n’a pas jamais l’objet de <Ah> (ou s’il l’a fait, c’est pour un test <Tk’> qui n’a rien à voir avec son analyse <Ai> : ça devient la grande salade...)
Est-ce bien ainsi qu’il faut interpréter votre problème ?
Si oui, pour garantir que le test de type <Tk> relatif au patient <Pj> concerne bien l’analyse de type <Ai> à laquelle a été soumis <Pj>, on peut mettre en œuvre ce qu’on appelle une contrainte d’inclusion :
Si I est l’ensemble (au sens de la théorie des ensembles) résultant de l’opération de composition ayant pour opérandes les ensembles représentés par les relations CONCERNER et EFFECTUER, alors I doit être inclus dans l’ensemble inféré de la relation EFFECTUER.
Graphiquement :
Bon, ça nous fait une belle jambe, car nous n’avons ni vous ni moi l’AGL permettant de produire de façon mécanique les tables SQL telles que la contrainte d'inclusion soit automatiquement assurée...
Rassurez-vous, on arrivera à produire ces tables. Avant cela, quelques précisions à apporter :
(1) Soit <Ai> un type d’analyse dont le patient <Pj> fait l’objet. <Pj> peut-il être soumis plus d’une fois à <Ai> ?
(2) Pour une paire <Pj, Ai> donnée, peut-on avoir plus d’un test ?
Partager