Relacna algebra
Ahojte, precvicujem si relacnu algebru a dopracoval som sa k dvom veciam, ktore mi niesu uplne jasne.
1.)Zoznam vsetkych lekarov, ktori prisli do styku s pacientami u ktorych bola urcena diagnoza HIV+. /chceme varovat napriklad zubarov, ktori mali takeho rizikoveho pacienta na kresle/
Spravne riesenie: { { NAVSTEVA (DIAGNOZA ="HIV+" ) [RODNE_C_P]} * NAVSTEVA } *> LEKAR cize vyberiem rodne cisla vsetkych, ktori maju hiv+ a potom to "vynasobim" s navstevou preto, lebo mam len rodne cisla nakazenych, a chcem aj C_LICENCE, DATUM, TYP etc., chapem tomu spravne? Nasledne sa to "porovna" s LEKARom konkretne asi s C_LICENCE a z toho mi vyhodi zoznam doktorov, ktori prisli do styku s hiv. No niesom si isty, ci to tak je aj v skutocnosti.
2.) Zoznam lekarov, ktori osetrili samich seba.
Spravne riesenie NAVSTEVA [RODNE_C_P = RODNE_C_L AND C_LICENCE = C_LICENCE > LEKAR tu mi nie je jasne, ako mozem porovnavat RODNCE_C_P s RODNE_C_L, kedze v relacii navsteva je len r.c. pacienta. Nevadi to, ze r.c. lekara je v inej relacii? Pri inych ulohach, ked som chcel pracovat s atributami z dvoch roznych relacii tak som to vacsinou musel * , no tu evidente asi nie. Vie mi niekto poradit preco?
Dakujem za odpovede.
Je správné řešení tvoje řešení nebo je doopravdy správné?
beranm14 ( 2014-11-01 17:24:44 +0100 )editJe to uvadzane spravne riesenie z cvicebnice, takze malo by byt spravne :)
cheeseburger ( 2014-11-01 17:28:38 +0100 )edit