Bright Contrast W-Bal R W-Bal G W-Bal B 15 44 28 28 28 Elektronika Medyczna Bazy danych w medycynie 2000 – 2004 © P.Romaniuk Instytut Elektroniki Politechniki Łódzkiej 10 marca 2004 / 15:36 Zagadnienia wykładu • Motywacja do tworzenia baz danych • Relacyjne bazy danych • System bazy danych • Koszty serwera bazy danych • Bazy danych w medycynie 2 Motywacja do tworzenia bazy danych • Posiadanie dużej ilości danych • Trudności w przechowywaniu i udostępnianiu tych danych • Potrzeba efektywnego przetwarzania danych w celu szybkiego uzyskania informacji zbiorczej (np. zestawienia, podsumowania, itp.) 3 Przykład – firma sprzedająca pewne produkty Cel: zwiększenie zysków firmy Sposób realizacji celu • dopasowanie profilu sprzedaży do zapotrzebowań rynku, • zwiększenie wydajności pracowników, • zmniejszenie kosztów wykonywania analiz, • optymalizacja kosztów magazynowania produktów. 4 Przykład – firma sprzedająca pewne produkty Niedogodności istniejącego rozwiązania • duża ilość informacji utrudnia profilowanie sprzedaży, • wykonywanie analiz jest czasochłonne i żmudne, a przez to kosztowne i małoefektywne, • pracownicy spędzają dużo czasu na wypełnianiu dokumentów w formie papierowej – mała wydajność, • ze względu na szeroki asortyment produktów, trudne jest śledzenie kosztów magazynowania. 5 Przykład – firma sprzedająca pewne produkty Potrzeby • przechowywanie danych w postaci elektronicznej, • szybkie uzyskiwanie aktualnej informacji analitycznej, np.: - Które produkty sprzedają się najlepiej? - Którzy klienci przynoszą największe zyski? - Które produkty i jak długo są przechowywane w magazynie? • odciążenie pracowników od czynności automatycznych (np. przepisywania danych). 6 Przykład – firma sprzedająca pewne produkty Rozwiązanie System informatyczny, który zaspokaja przedstawione potrzeby, czyli: pozwala przechowywać i przetwarzać informację (zawiera bazę danych). 7 Baza danych • Struktura do przechowywania informacji, • Możliwość przetwarzania informacji, • Związek informacji z rzeczywistością, • Określony format (organizacja) umożliwiający efektywny dostęp do informacji, 8 Przykład złej organizacji informacji Kartki ze swobodnym, odręcznym zapisem - przydatne przy małej ilości informacji, - brak jednolitego formatu, - różnorodność informacji, - utrudnienie dostępu do informacji, przeszukiwanie. 9 Przykład dobrej organizacji informacji Zbiór informacji o książkach w bibliotece - jednolity format kart opisujących książki, - karty uporządkowane w kolejności alfabetycznej autorów, - karty pogrupowane wg. pierwszej litery nazwiska – – osobne szufladki. Autorzy: J.Poręba, P.Korohoda Sygnatura 42389-91 Tytuł: SPICE program analizy nieliniowej układów elektronicznych Wydawnictwo WNT Kraków 1989 10 Teoria E.F.Codda Relacyjny model danych (1970 r.) • zaproponowano jednolitą strukturę do przechowywania danych, która może być przedstawiona w postaci tabeli Sygnat. Autor Tytuł Rok 348510 L.Banachowski Bazy Danych, tworzenie aplikacji 1998 568900 Mei Kobayashi Wavelets and their applications 1998 102345 Ulka Rodgers Oracle, przewodnik projektanta baz danych 1995 • zdefiniowanie elementarnych operacji na danych. 11 Teoria E.F.Codda • silne podstawy teoretyczne oparte na matematyce, • prostota rozwiązania, • zaproponowano sposób przechowywania danych w oderwaniu od realizacji fizycznej (formatów plików itp.), • wyrażenie operacji w oparciu o zbiory zamiast przetwarzania pojedynczych elementów, • podobieństwo operacji do języka naturalnego. 12 Przykład operacji w różnych językach Język naturalny: wybierz nazwiska pracowników, których pensja przekracza 3000zł Język zapytań: WYBIERZ SELECT nazwisko FROM Z pracownicy WHERE GDZIE pensja > 3000 Język proceduralny (język C): for (i = 1; i<= LiczbaRekordów; i = i+1) { if (rekord[i].pensja > 3000) { ... wydrukuj rekord ... } } 13 Definicje podstawowych pojęć Pole • charakteryzuje się nazwą, pozwalającą się do niego odwołać, • zawiera wartość pojedynczej cechy obiektu. Rekord • nieuporządkowany zbiór różnych pól, • jeden rekord zawiera dane dotyczące pojedynczego obiektu. Tabela • nieuporządkowany zbiór rekordów tego samego typu, • zawiera dane dotyczące obiektów tego samego rodzaju. 14 Definicje podstawowych pojęć Pole • charakteryzuje się nazwą, pozwalającą się do niego odwołać, • zawiera wartość pojedynczej cechy obiektu. Rekord • nieuporządkowany zbiór różnych pól, • jeden rekord zawiera dane dotyczące pojedynczego obiektu. Tabela • nieuporządkowany zbiór rekordów tego samego typu, • zawiera dane dotyczące obiektów tego samego rodzaju. 15 Reprezentacja graficzna tabeli Pole 1 Pole 2 Pole 3 Pole 4 Pole 5 Pole6 16 Reprezentacja graficzna tabeli Pole 1 Pole 2 Pole 3 Pole 4 Pole 5 Pole6 Każdy wiersz zawiera jeden rekord np. dane jednego pracownika 17 Reprezentacja graficzna tabeli Pole 1 Pole 2 Pole 3 Pole 4 Pole 5 Pole6 Pole np. nazwisko osoby 18 Reprezentacja graficzna Pole 1 Pole 2 Pole 3 Pole 4 Pole 5 Pole6 Nagłówek tabeli – nazwy pól 19 Baza danych – model rzeczywistości Rzeczywistość Baza danych 20 Baza danych – model rzeczywistości Rzeczywistość Baza danych pracownicy samochody zarobki 21 Baza danych – model rzeczywistości Rzeczywistość Baza danych pracownicy samochody zarobki 22 Definicje podstawowych pojęć Przykład związku Forma ogólna: „Pracownik pracuje w instytucie” Konkretna realizacja: „Kowalski pracuje w Instytucie Elektroniki” pracownik pracuje instytut 23 Przykład realizacji związku Tabela instytuty Tabela pracownicy Imię Nazwisko Tytuł Inst. IDI Nazwa Adres Jan Kowalski mgr I-16 I-14 Inst. Metrologii ... Piotr Nowak dr I-16 I-15 Inst. Elektrotechniki Jacek Dębski mgr I-15 I-16 Inst. Elektroniki Paweł Sosnowski mgr I-14 Kamiński I-14 Jan prof. 24 ... Baza danych Zbiór tabel i związków. 25 Dekompozycja problemu Rozwiązywanie złożonych problemów • podział na podproblemy, • osobne rozwiązanie składowych problemów jest łatwiejsze niż pierwotnego, złożonego. Problem Problem 1 = Problem 2 Problem 3 26 Dekompozycja problemu Rozwiązywanie złożonych problemów • podział na podproblemy, • osobne rozwiązanie składowych problemów jest łatwiejsze niż pierwotnego, złożonego. Problem 1 Problem Problem 2 Problem 3 27 Konstrukcja oprogramowania • Podział programu na mniejsze składowe - moduły (lub programy składowe) • osobno tworzone moduły, • łatwiejsze wykonanie projektu i realizacja, • mogą je realizować równocześnie różni programiści. Program Moduł 1 Moduł 3 Moduł 2 28 Konstrukcja oprogramowania • Tworzenie oprogramowania - czas, - wynagrodzenie programistów, - niezawodność, • Wielokrotne wykorzystanie modułów. Program 1 Program 2 Moduł 1 Moduł 2 Moduł 4 Moduł 3 Moduł 3 29 Interfejs • Współdziałanie modułów • Określenie zasad współdziałania = Moduł 1 Interfejs = definicja interfejsu Moduł 2 30 Znaczenie standardu interfejsu Interfejs USB Aparat fotograficzny Skaner Kamera Zdjęcia pochodzą ze stron WWW firmy CANON 31 Interfejs USB Znaczenie standardu interfejsu Interfejs USB PC, Windows XP PC, Linux Interfejs USB Alpha, Windows XP 32 Znaczenie standardu interfejsu • możliwość współdziałania różnych programów, • jednolitość rozwiązań, • zamienność elementów systemu, • wielokrotne wykorzystanie części składowych, • obniżenie kosztów realizacji oprogramowania. np. - standard języka HTML – różne przeglądarki mogą wyświetlić tę samą stronę, jednocześnie nie jest istotne jaki użyto serwer stron WWW. 33 System bazy danych Program użytkowy Podział na dwie części: 1. Program użytkowy kontakt z użytkownikiem, „rozbijanie” złożonych operacji na podstawowe realizowane przez system bazy danych. System bazy danych 2. System bazy danych przechowywanie i zarządzanie danymi, realizacja podstawowych operacji na danych. 34 System bazy danych Program użytkowy Standardowy interfejs Współdziałanie za pośrednictwem standardowego interfejsu: - określone operacje, wynikające z teorii Codda - standard, uniwersalność interfejsu = strukturalny język zapytań SQL [ang. Structured Query Language] System bazy danych 35 Architektura klient-serwer Program użytkowy KLIENT Wydaje polecenia Standardowy interfejs System bazy danych Realizuje polecenia SERWER 36 Sieciowe bazy danych Klient 1 Klient 2 Klient 3 Sieć pośrednicząca Standardowy interfejs System bazy danych Wielodostęp SERWER 37 Systemy bazy danych • Oracle • Microsoft SQL Server • IBM DB2 • Sybase • MySQL Microsoft Access – program umożliwiający realizację prostych jednostanowiskowych baz danych. Zawiera pakiet do graficznego projektowania i realizacji baz danych. 38 Czym różnią się systemy b.d.? Parametry niezbędne do wyboru systemu bazy danych: • rozmiar bazy danych, • liczba operacji w jednostce czasu, • jednoczesna liczba użytkowników, • wydajność i niezawodność. Możliwości Niezawodność Wybór właściwego systemu bazy danych Oracle MS Access Sybase cena 39 Koszty serwera bazy danych Serwer – oprogramowanie Wersje serwera • Standard • Enterprice Nazwa serwera Wersja Standard Wersja Enterprice Oracle 10g ~ 6 000 $ ~ 40 000 $ MS SQL Server ~ 6 500 $ ~ 20 000 $ IBM DB2 Sybase ~ 33 000 $ ~ 4 000 $ Umieszczone kwoty są wartościami przybliżonymi; podano je dla orientacji, szczegółowych danych odnośnie kosztów licencji serwerów należy poszukiwać na stronach producentów. 40 Koszty serwera bazy danych Rodzaje licencji • licencja na każdy procesor • licencja na serwer • licencja na każdego użytkownika / komputer klienta. Serwer bazy danych Użytk. 1 Użytk. 5 Użytk. 2 4 procesory Użytk. 3 Użytk. 4 41 Koszty serwera bazy danych Koszty licencji na przykładzie MS SQL Server (Enterprice) • licencja na każdy procesor • licencja na serwer • licencja na każdego użytkownika. Rodzaj licencji cena Na każdy procesor ~ 20 000 $ licencje na użytkowników nie są wymagane Serwer (nie do zast. WWW) ~ 11 100 $ Dodatkowa licencja na użytkownika ~ 150 $ w tym 25 komputerów użytkowników Umieszczone kwoty są wartościami przybliżonymi; podano je dla orientacji, szczegółowych danych odnośnie kosztów i zasad licencjonowania serwerów należy poszukiwać na stronach producenta. 42 Koszty systemu Koszty serwera • licencja serwera bazy danych, jednorazowe • komputer na serwer bazy danych, jednorazowe • administracja serwerem. ciągłe Koszty programów klienta • koszty opracowania programów, jednorazowe • koszty wdrożenia, jednorazowe • koszty zmian i ulepszeń systemu. Koszty wprowadzania danych Koszty adaptacji pracowników ciągłe ciągłe jednorazowe 43 Bazy danych w medycynie • Opieka medyczna • Duża ilość informacji • Różnorodność informacji Format danych - tekstowy - sygnały, - obrazy dwuwymiarowe, - obrazy trójwymiarowe. Prześwietlenie rentgenowskie Elektrokardiogram Historia choroby Dane opisowe pacjenta Podawane leki Badanie USG 44 Badanie tomograficzne (CT, NMR) Bazy danych w medycynie Korzyści posiadania bazy danych Korzyści medyczne • zgromadzenie informacji o pacjentach w jednym miejscu, • dostęp do danych z dowolnego miejsca szpitala, • możliwość śledzenia całego procesu leczenia. Korzyści ekonomiczne • przejrzystość kosztów leczenia, • rozliczanie używanych materiałów, • rzeczywiste koszty leczenia różnych chorób. 45 Naukowe bazy danych w medycynie Specyfika prac naukowych związanych z medycyną • trudności w określeniu modelu zjawiska, • statystyka występowania chorób, • trudności w znalezieniu określonej grupy testowej, • konieczność badań na wcześniej zgromadzonych danych, charakteryzujących różne przypadki chorobowe. Bazy sygnałów lub obrazów • wybrane obrazy schorzeń, • oznaczone przez lekarzy, • statystycznie zwiększona pewność opisu. 46 Naukowe bazy danych w medycynie Przeznaczenie • testowanie aparatury pomiarowej, • weryfikacja programów do wspomagania diagnostyki, • testowanie nowych algorytmów przetwarzania sygnałów medycznych, • standaryzacja procedur oceny badań. Przykładowe bazy sygnałów EKG • CSE – Common Standards for Quantitative Electrocardiography, • MIT-BIH – Massachusetts Institute of Technology and Beth Israel Hospital, • AHA – American Heart Association. 47 Znaczenie badania EKG Przeznaczenie • ocena stanu serca, • wczesne wykrywanie schorzeń, Rodzaje badań EKG • badanie spoczynkowe, • badanie wysiłkowe, • badanie Holtera. Zalety • prostota badania, • szybki wynik diagnozy, • niski koszt badania, • niezbyt duży koszt aparatury pomiarowej. 48 CSE - baza sygnałów EKG • wynik kilkuletniego europejskiego programu badawczego, • kilkaset rejestracji EKG • krótkie - 4 s. wielokanałowe rejestracje EKG, • ujawniona statystyka schorzeń, • oznaczenia fragmentów sygnałów wykonane przez lekarzy, • przeprowadzanie weryfikacji programów diagnostycznych na zamówienie. 49 MIT-BIH - baza sygnałów EKG • wykonana przez Harvard University – – MIT Div. of Health Sc. and Tech. • kilkaset rejestracji EKG • od 1-3 sygnałów w każdej rejestracji, • rejestracje długotrwałe, czas od 20 minut – 24 godzin (większość 30 minut) • opisane wszystkie uderzenia serca (rodzaj rytmu, oznaczenia nieprawidłowych skurczów serca) 50 Demonstracja CSE i MIT-BIH Przeglądarka MIT-BIH Przeglądarka CSE 51 Koniec wykładu 52