Document

advertisement
WSTĘP
Program EchoKard jest bazą danych wspomagającą badania ultrasonograficzne. Opracowany został w
ramach niniejszej pracy magisterskiej dla potrzeb Pracowni Echokardiografi Kliniki Choroby
Wieńcowej Collegium Medicum Uniwersytetu Jagiellońskiego w Krakowie. Konsultantami byli dr hab.
inż. Grzegorz Kiedrowicz i dr Kazimierz Jakubczyk z Katedry Informatyki Politechniki Radomskiej oraz
dr Nader El-Massri z KChW CM UJ w Krakowie.
Program przygotowany został przy użyciu środowiska programistycznego Delphi 5. Delphi jest
narzędziem do szybkiego tworzenia aplikacji dla systemu Windows, generującym bardzo wydajny kod
wynikowy.
Praca ma spełnić dwa główne zadania:
- zwiększenie komfortu pracy personelu Kliniki oraz ułatwienie dostępu do potrzebnych informacji,
ułatwienie edycji danych dotyczących badań poszczególnych pacjentów; łatwy dostęp do raportów
badań dokonanych w dowolnym czasie;
- ukazanie możliwości programowania aplikacji bazodanowych w Delphi.
Program jest przygotowywany pod kątem potrzeb Kliniki. Można postawić tezę, że technologia
informatyczna będzie się rozwijała właśnie w kierunku usług indywidualnie dostosowanych do
potrzeb klientów. Zapotrzebowanie na programy przygotowywane jednostkowo, ale idealnie
spełniające warunki odbiorcy, będzie wciąż rosło.
ROZDZIAŁ I
PODSTAWY BAZ DANYCH
Zastosowanie komputerów w zarządzaniu przedsiębiorstwami, urzędami, instytucjami i innymi
organizacjami wymaga gromadzenia, katalogowania i przetwarzania olbrzymich ilości informacji.
Informacje te zazwyczaj stają się danymi wejściowymi dla różnych programów. Chociaż zazwyczaj
dane takie są wielu różnych typów, to jednak powinny mieć ustaloną strukturę, aby mogły być przez
te programy wykorzystane.
Poszczególne dane przechowywane są w tabelach. Tabela to zbiór rekordów (wierszy) składających
się z pól (kolumn). Rekord zawiera opis jednego elementu przechowywanego w tabeli danych.
Pojedynczy rekord może przykładowo zawierać numer identyfikacyjny, imię i nazwisko oraz adres
określonej osoby. Pojedyncze pole określa jedną właściwość, cechę charakterystyczną lub fakt
dotyczący zbioru danych przechowywanych w tabeli. Na przykład tabela OSOBY może przechowywać
pola określające numery identyfikacyjne, imiona i nazwiska lub adresy.
Baza danych jest to zbiór danych, które są wykorzystywane przez system aplikacji danej instytucji
(przedsiębiorstwa). Pojedyncza informacja ma dla użytkownika niemal zawsze niewielkie znaczenie.
Dopiero połączenie i usystematyzowanie poszczególnych informacji może przynieść określone
korzyści ich posiadaczowi.
Baza danych to więc nic innego niż uporządkowany zbiór powiązanych ze sobą danych o ustalonej
strukturze. Zbiór ten jest przechowywany na dysku w postaci plików (jednego lub wielu).
System bazy danych jest to skomputeryzowany system przechowywania rekordów. Zasadniczym
zadaniem systemu jest więc przechowywanie informacji i udostępnianie jej na każde życzenie.
Użytkownik systemu bazy danych ma do dyspozycji narzędzia do przeprowadzania rozmaitych
operacji na plikach. System bazy danych powinien umożliwiać między innymi:
- dodawanie nowych, pustych rekordów do bazy danych,
- wstawianie nowych danych do istniejących rekordów,
- wydobywanie danych z istniejących rekordów,
- usuwanie danych z istniejących rekordów,
- usuwanie rekordów, pustych lub nie, z bazy danych.
1.1. Elementy systemu baz danych
Na rysunku l jest przedstawiony uproszczony schemat systemu bazy danych. System taki składa się z
czterech zasadniczych elementów: danych, sprzętu, programów i użytkowników.
Terminy dane i informacja są używane w niniejszej pracy jako synonimy. Niektórzy autorzy wolą je
rozróżniać, stosując słowo dane do określania wartości faktycznie przechowywanej w bazie danych,
zaś słowo informacja do określania tych wartości (np. liczb) rozumianego przez użytkownika. To
rozróżnienie jest oczywiści istotne i na tyle ważne, iż wydaje się, że lepiej jest pisać o nim jawnie
wszędzie tam, gdzie potrzeba, niż polegać na dość arbitralnym rozróżnianiu dwóch, w istocie
podobnych wyrazów.
Bazy danych są zazwyczaj zintegrowane i (zwykle) współdzielone.
Dane są to więc faktycznie przechowywane wartości w bazie danych. Poszczególne pola tabeli mogą
przechowywać dane ściśle określonego typu, ustalonego w trakcie projektowania bazy danych. Typy
pól w tabelach typu Paradox opisane zostały w tabeli 1.
Sprzęt wykorzystywany w systemie baz danych obejmuje:
- urządzenia pamięci masowej, które są używane do przechowywania danych, wraz z urządzeniami
towarzyszącymi (stacje dysków twardych itp.), kontrolerów tych urządzeń, kanałów we-wy itd.;
- procesor (lub procesory) wykonujący programy i pamięć operacyjną służąca do przechowywania
aktualnie wykonywanych programów i danych.
Systemem zarządzania bazą danych jest oczywiście najważniejszym składnikiem oprogramowania w
całym systemie bazy danych, ale nie jedynym. Inne programy to programy narzędziowe, narzędzia
budowania aplikacji, pomoce projektowe itd.
Wyróżnić możemy trzy zasadnicze grupy użytkowników baz danych:
- programiści aplikacji - są odpowiedzialni za pisanie programów wykorzystujących bazy danych;
- użytkownicy aplikacji (ang. end users) - bezpośrednio komunikują się z systemem baz danych ze
stacji roboczych lub terminali zazwyczaj za pomocą uprzednio przygotowanych aplikacji;
- administratorzy baz danych (ang. database administrator - DBA) -specjalista w dziedzinie technologii
informacyjnej, którego zadaniem jest tworzenie rzeczywistej bazy danych i implementacja
technicznych sposobów kontroli systemu bazy danych.
1.2. Systemy organizacji baz danych
Istnieje wiele różnych systemów organizacji baz danych. Praktycznie każdy produkt tworzy swoją
własną kategorię, dlatego trudno je szufladkować. Jako elementy charakteryzujące poszczególne
grupy można wybrać różne kryteria, chociażby organizacja modelu danych, język zapytań czy model
obliczeniowy.
ROZDZIAŁ II
PROJEKT BAZY DANYCH
Proces tworzenia programu EchoKard, wspomagający pracownię echokardiografii, podzielimy na
kilka etapów. Rozpoczynamy od opracowania projektu bazy danych. Potem utworzymy tabele i
powiążemy je właściwymi relacjami. Następnie przejdziemy do tworzenia innych obiektów, takich jak
formularze czy raporty wraz z obsługującymi je odpowiednimi procedurami. Ułatwimy w ten sposób
wykonywanie wielu czynności, takich jak otwieranie formularzy, drukowanie informacji (raportów) i
modyfikację danych.
Stworzenie dużej bazy danych, jaką jest aplikacja wspomagająca pracę Pracowni Echokardiografii
Kliniki Choroby Wieńcowej, jest możliwe przede wszystkim dzięki właściwemu zaprojektowaniu jej.
Problemy projektowania bazy danych można podzielić na dwie grupy: problemy związane z aplikacją i
problemy związane z danymi.
2.1. Analiza wymagań i założeń wstępnych
Pierwszą fazą jest analiza wymagań i określenie wstępnych założeń. Musimy w ogólny sposób
określić, do czego chcemy używać bazy oraz jakie operacje będzie przeprowadzać personel medyczny
na danych w niej przechowywanych. Cel definiujemy „jako krótkie, zwięzłe, tekstowe określenie, (...)
bez sformułowań określających konkretne zadania”.
W naszym wypadku głównym celem tworzenia tej bazy danych zastąpienie ręcznego uzupełniania i
przechowywania wyników badań przeprowadzanych w Pracowni Echokardiografii.
Po określeniu celu możemy zająć się formułowaniem założeń wstępnych. Założenia wstępne to po
prostu opis zadań realizowanych przez bazę.
Powyższe założenia wstępne są zdefiniowane w sposób prosty i jednoznaczny. Opisują one
pojedyncze funkcje programu.
Następną fazą jest analiza danych, przechowywanych w bazie.
2.2. Analiza danych przechowywanych w bazie
Drugą fazą jest analiza danych, przechowywanych w bazie. Polega na określeniu poszczególnych
tematów czy zadań, które baza ma obsługiwać. W tej fazie projektujemy poszczególne tabele i pola
tych tabel, klucze podstawowe i obce, relacje między tabelami, czyli tworzymy strukturę danych.
Źródłem wiedzy na ten temat są dokumenty dostarczone przez Instytut Kliniki Wieńcowej
Uniwersytetu Jagiellońskiego. Struktura bazy danych dotyczących badań zdeterminowana została
bezpośrednimi wytycznymi przekazanymi przez pracowników Pracowni Echokardiografii.
Poszczególne tabele oraz relacje między nimi określone zostały na podstawie raportu Badania
echokardiograficzne, list zawierających przykładowe dane oraz dyrektyw pracowników kliniki.
ROZDZIAŁ III
IMPLEMENTACJA BAZY DANYCH
Do napisania programu EchoKard posłużymy się wizualnym narzędziem programistycznym, jakim jest
program Delphi firmy Borland Inprise.
Za pomocą Delphi można tworzyć różnego typu aplikacje, zaczynając od prostych programów
działających w systemie Windows, poprzez kontrolki ActiveX, a kończąc na skomplikowanych
systemach bazodanowych w architekturze klient / serwer. Pakiet ten jest narzędziem typu RAD.
Spore części aplikacji tworzy się w sposób graficzny, składając je z komponentów. Wizualne zmiany
form powodują automatyczne zmiany w kodzie programu. Biblioteka VCL daje programiście do
dyspozycji ponad 200 gotowych komponentów, zarówno prostych (np. pola edycyjne, przyciski, listy),
jak i skomplikowanych, ułatwiających tworzenie aplikacji internetowych.
Delphi umożliwia tworzenie aplikacji w postaci plików wykonywalnych pracujących bezpośrednio z
bazami danych, co ma ogromne znaczenie w projektowaniu systemów baz danych - całość możemy
wykonać w oparciu o produkt firmy Inprise.
„Delphi 5 jest niewątpliwie godne polecenia wszystkim, którzy tworzą aplikacje bazodanowe i
internetowe.” Z tego też względu jako narzędzie programistyczne wybrałem Delphi 5.
3.1. Tworzenie aplikacji bazodanowych w Delphi
W komputerze trwałe dane - w tym dane w bazach danych - są zawsze przechowywane w plikach.
Można to osiągnąć na wiele sposobów. Dwa najczęściej stosowane polegają na przechowywaniu całej
bazy danych w „pojedynczym pliku” albo przechowywaniu każdej tabeli, indeksu i wszystkich innych
elementów bazy danych w oddzielnych plikach, zazwyczaj w jednym katalogu. W Delphi można
korzystać z obu tych technik w zależności od wykorzystywanego formatu bazy danych:
- tabele Paradoksa i dBASE definiują bazy danych jako katalogi, a każdą tabelę jako oddzielny plik (lub
kilka plików, jeśli użyte zostaną indeksy i inne pliki);
- Access, InterBase oraz większość serwerów SQL stosuje jeden wielki plik, zawierający całą bazę
danych, wraz ze wszystkimi tabelami i indeksami.
Aplikacje bazodanowe Delphi nie mają bezpośredniego dostępu do źródeł danych, do których się
odnoszą i nie mogą bezpośrednio operować na plikach bazy danych. Zamiast tego korzystają z
dostępnego motoru baz danych, jak Borland Database Engine (BDE) lub ActiveX Data Objects (ADO)
Microsoftu.
BDE ma bezpośredni dostęp do licznych źródeł danych, na przykład tabel dBase, Paradox, ASCII,
FoxPro i Access. BDE może także współpracować z SQL Links Borlanda, sterownikami umożliwiającymi
dostęp do wielu lokalnych i zdalnych serwerów SQL. Do zdalnych serwerów należą m.in. Oracle,
Sybase, Informix, InterBase i DB2. Jeżeli potrzebny będzie dostęp do innej bazy lub formatu danych,
BDE może połączyć się ze sterownikami ODBC, choć w tym przypadku można też użyć ADO. Należy
jednak wiedzieć, że BDE posiada zaawansowane możliwości.
Jeśli wybierzemy tradycyjne rozwiązanie oparte na BDE, będziemy musieli zainstalować BDE wraz z
aplikacjami na komputerach naszych klientów. Nie jest to trudne, ponieważ Delphi zawiera
„odchudzoną” wersję programu instalacyjnego InstallShied, za pomocą którego można przygotować
dyskietki instalacyjne swojego programu oraz BDE. Pliki BDE są konieczne - bez nich aplikacje
bazodanowe Delphi nie będą działały - ale za to można je dystrybuować bez ograniczeń.
Delphi posiada więc spore możliwości tworzenia baz danych różnych typów, pozostawiając dużą
swobodę w wyborze motoru baz danych (por. rys. 5). Biorąc jednak pod uwagę prostotę korzystania z
BDE oraz fakt, iż posiadając licencję na Delphi możemy BDE rozpowszechniać niemal bez ograniczeń,
słusznym wydaje się rozwiązanie skorzystania właśnie z tego motoru baz danych.
3.2. Tworzenie tabel baz danych
Wraz z Delphi dostarczane są narzędzia wspomagające tworzenie struktur baz danych. Narzędzia te
pozwalają też w łatwy sposób nimi zarządzać. Należy do nich między innymi Database Desktop.
Umożliwia on tworzenie tabel w oparciu o sterowniki dostarczane wraz z pakietem Delphi. W naszym
programie wykorzystamy tabele bazy Paradox. Są one bardzo uniwersalne i posiadają przydatne
właściwości.
WNIOSKI
Stworzony przeze mnie program EchoKard jest bazą danych wspomagającą badania
ultrasonograficzne. Praca spełnia dwa główne zadania. Pierwszym jest zwiększenie komfortu pracy
personelu Kliniki Choroby Wieńcowej. Program nie zastąpi pracy personelu, ale może w znacznym
stopniu odciążyć go w wykonywaniu wielu prac, jak chociażby:
- wypisywanie i wydruk raportów dotyczących poszczególnych badań;
- wykonywanie miesięcznych, kwartalnych i rocznych sprawozdań dotyczących pracy kliniki;
- łatwy dostęp do zgromadzonych danych z dowolnego przedziału czasu.
Technologia informatyczna będzie się rozwijała w kierunku usług indywidualnie dostosowanych do
potrzeb klientów. Przygotowany przeze mnie program potwierdza tę tezę. Pomimo istnienia na rynku
wielu ciekawych produktów, jak choćby program MS Access, będzie wciąż rosła potrzeba na
programy przygotowywane jednostkowo, ale idealnie spełniające warunki odbiorcy. Takie
rozwiązanie powoduje pełne i skuteczne wykorzystanie technologii informacyjnej przez
użytkowników indywidualnych.
Download