Transcript Bazy danych

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