Projekt – Databázové systémy 2
Autoři: Pavel Lizec Petr Trella
Tomáš Trýb
Fakulta: PEF
Obor: Info
Ročník: 3
Rok: 2003/04
Pro svou práci jsme si vybrali problémovou doménu
jednoduché databáze, kterou využívají pracovníci Centra Nádorové Cytogenetiky
(dále jen CNC) ve fakultní nemocnici na Vinohradech.
Pacienti sem přicházejí z nemocnic
s předpokládanou diagnózou a úkolem CNC je tuto diagnózu potvrdit či
vyvrátit. K práci jim tak slouží jednoduchá databáze, která eviduje
pacienty, nemocnici odkud k nim přišli, lékaře, který je posílá na
vyšetření, výsledky vyšetření a vyšetřujícího pracovníka CNC.
Konceptuální
ER diagram Implementační
ER diagram
UML diagram
Skript ve
SmallTalku pro vytvoření databáze
Skript pro
vložení dat v Gemstone
SQL: SELECT prijmeni FROM Pacient WHERE Pohlavi=’F’;
GS: (Pacients select {:p|p.pohlavi=’F’}) collect: {:m|m.prijmeni}
SQL: SELECT prijmeni_lek FROM Lekar,
Pacient WHERE Lekar.ID_lekar=Pacient.ID_lekar AND Pacient.kod_diag=’C92.1’;
GS: (Pacients select: {:a|a.kod_diag=’C92.1’}) collect:
{:b|b.lekar.prijmeni}
SQL: SELECT Pacient.Prijmeni FROM Pacient, Vysetreni WHERE
Pacient.ID_pacient=Vysetreni.ID_pacient AND Vysetreni.Kod_vysetreni=’46XY’;
GS: (Vysetrenis select: {:a|a.kod_vysetreni =’46XY’})
collect: {:b|b.pacient.prijmeni}
SQL: SELECT prijmeni FROM Lekar
WHERE ID_nemocnice=(SELECT ID_nemocnice FROM nemocnice WHERE nazev=’FN
Vinohrady’);
GS: (Nemocnices select: {:a|a.nazev =’FN Vinohrady’} collect:
{:b|b.lekar.prijmeni}