Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

posted 2014-11-01 19:03:11 +0100

Úloha 1

  1. T1 = { NAVSTEVA (DIAGNOZA ="HIV+" ) [RODNE_C_P]} - Zjistíme seznam pacientů, u kterých byl diagnostikován HIV.
  2. T2 = { T1 * NAVSTEVA } - Teď zjistíme ID všech lékařů dotyční pacienti někdy byli.
  3. T3 = T2 *> LEKAR - ID nás až tam moc netrápí, chceme na ty lékaře nějaký smysluplný kontakt, abychom je mohli varovat.

Kdybychom vynechali krok 1, tak sice dokážeme najít ID doktora a k němu dohledat podrobnosti, ale mělo by to tu drobnou chybku, že bychom našli jenom toho jednoho doktora, který HIV diagnostikoval. Dá se očekávat, že ten už nějaká opatření pro budoucí návštěvy udělal, takže varování nepotřebuje, ale ostatní doktoři o nebezpečnosti pacienta nic nevědí.

Úloha 1

  1. T1 = { NAVSTEVA (DIAGNOZA ="HIV+" ) [RODNE_C_P]} - Zjistíme seznam pacientů, u kterých byl diagnostikován HIV.
  2. T2 = { T1 * NAVSTEVA } - Teď zjistíme ID všech lékařů dotyční pacienti někdy byli.
  3. T3 = T2 *> LEKAR - ID nás až tam moc netrápí, chceme na ty lékaře nějaký smysluplný kontakt, abychom je mohli varovat.

Kdybychom vynechali krok 1, tak sice dokážeme najít ID doktora a k němu dohledat podrobnosti, ale mělo by to tu drobnou chybku, že bychom našli jenom toho jednoho doktora, který HIV diagnostikoval. Dá se očekávat, že ten už nějaká opatření pro budoucí návštěvy udělal, takže varování nepotřebuje, ale ostatní doktoři o nebezpečnosti pacienta nic nevědí.

Úloha 2

IMHO to zadání není úplně v pořádku, protože není nikde explicitně zakotveno, jestli rodné číslo lékaře a rodné číslo pacienta pochází ze stejné množiny. Z logiky věci to dává smysl, ale podle mě to je zrovna skutečnost, která by měla být explicitně formulována.

Problém se vzorovým řešením je v tom, že to není dobře ozávorkované a identifikované, co patří k čemu. Já bych to zapsal spíš takhle: { { NAVSTEVA * LEKAR }(RODNE_C_P = RODNE_C_L) } [C_LICENCE, JMENO_L] (Ale pozor na to, že si nejsem tak úplně jistý, jaké přesně značení používáte na přednáškách. To moje má znamenat, že napřed spojím návštěvu a lékaře podle C_LICENCE, potom vyfiltruju jen ty záznamy, kde je RČ pacienta shodné s RČ lékaře a nakonec to osekám jen na ty pole, která jsou po mě požadována).

Úloha 1

  1. T1 = { NAVSTEVA (DIAGNOZA ="HIV+" ) [RODNE_C_P]} - Zjistíme seznam pacientů, u kterých byl diagnostikován HIV.
  2. T2 = { T1 * NAVSTEVA } - Teď zjistíme ID všech lékařů lékařů, u kterých dotyční pacienti někdy byli.
  3. T3 = T2 *> LEKAR - ID nás až tam moc netrápí, chceme na ty lékaře nějaký smysluplný kontakt, abychom je mohli varovat.

Kdybychom vynechali krok 1, tak sice dokážeme najít ID doktora a k němu dohledat podrobnosti, ale mělo by to tu drobnou chybku, že bychom našli jenom toho jednoho doktora, který HIV diagnostikoval. Dá se očekávat, že ten už nějaká opatření pro budoucí návštěvy udělal, takže varování nepotřebuje, ale ostatní doktoři o nebezpečnosti pacienta nic nevědí.

Úloha 2

IMHO to zadání není úplně v pořádku, protože není nikde explicitně zakotveno, jestli rodné číslo lékaře a rodné číslo pacienta pochází ze stejné množiny. Z logiky věci to dává smysl, ale podle mě to je zrovna skutečnost, která by měla být explicitně formulována.

Problém se vzorovým řešením je v tom, že to není dobře ozávorkované a identifikované, co patří k čemu. Já bych to zapsal spíš takhle: { { NAVSTEVA * LEKAR }(RODNE_C_P = RODNE_C_L) } [C_LICENCE, JMENO_L] (Ale pozor na to, že si nejsem tak úplně jistý, jaké přesně značení používáte na přednáškách. To moje má znamenat, že napřed spojím návštěvu a lékaře podle C_LICENCE, potom vyfiltruju jen ty záznamy, kde je RČ pacienta shodné s RČ lékaře a nakonec to osekám jen na ty pole, která jsou po mě požadována).

Úloha 1

  1. T1 = { NAVSTEVA (DIAGNOZA ="HIV+" ) [RODNE_C_P]} - Zjistíme seznam pacientů, u kterých byl diagnostikován HIV.
  2. T2 = { T1 * NAVSTEVA } - Teď zjistíme ID všech lékařů, u kterých dotyční pacienti někdy byli.
  3. T3 = T2 *> LEKAR - ID nás až tam moc netrápí, chceme na ty lékaře nějaký smysluplný kontakt, abychom je mohli varovat.

Kdybychom vynechali krok 1, 2, tak sice dokážeme najít ID doktora a k němu dohledat podrobnosti, ale mělo by to tu drobnou chybku, že bychom našli jenom toho jednoho doktora, který HIV diagnostikoval. Dá se očekávat, že ten už nějaká opatření pro budoucí návštěvy udělal, takže varování nepotřebuje, ale ostatní doktoři o nebezpečnosti pacienta nic nevědí.

Úloha 2

IMHO to zadání není úplně v pořádku, protože není nikde explicitně zakotveno, jestli rodné číslo lékaře a rodné číslo pacienta pochází ze stejné množiny. Z logiky věci to dává smysl, ale podle mě to je zrovna skutečnost, která by měla být explicitně formulována.

Problém se vzorovým řešením je v tom, že to není dobře ozávorkované a identifikované, co patří k čemu. Já bych to zapsal spíš takhle: { { NAVSTEVA * LEKAR }(RODNE_C_P = RODNE_C_L) } [C_LICENCE, JMENO_L] (Ale pozor na to, že si nejsem tak úplně jistý, jaké přesně značení používáte na přednáškách. To moje má znamenat, že napřed spojím návštěvu a lékaře podle C_LICENCE, potom vyfiltruju jen ty záznamy, kde je RČ pacienta shodné s RČ lékaře a nakonec to osekám jen na ty pole, která jsou po mě požadována).