Bazy danych - transakcyjne i analityczne

advertisement
Bazy
danych
Baza danych
• pojęcie sięgające wieków
• informacja – pewien zasób
• ludzie od zawsze próbują gromadzić
informację i wnioskować na jej podstawie
• komputery – tylko ułatwiają przetwarzanie
informacji
Informacja ma wartość
gdy jest:
• dokładna (nie za dużo, ani nie za mało)
• dostępna
gdy mamy „zły” sposób poszukiwania
informacji możemy nie być w stanie jej
odszukać
- może nam zabraknąć życia!
- komputer tu nic nie pomoże
Baza danych
• metoda strukturalizacji zarządzania
informacją
• dotyczy fragmentu rzeczywistości i stanowi
kolekcję danych
• część systemu informacyjnego
- aplikacja bazy danych (oprogramowanie)
- system informatyczny (sprzęt)
Przykładowa baza danych dla
diagnostyki
Funkcjonalna struktura bazy danych
Elementy bazy danych dla diagnostyki
Bazy danych często służą do
wspomagania procesów zarządzania
System zarządzania bazami danych
(SZBD)
(ang. Data Base Management System, DBMS)
SZBD to oprogramowanie służące do zarządzania
komputerowymi bazami danych.
Systemy baz danych mogą być sieciowymi serwerami baz
danych lub udostępniać bazę danych lokalnie
Większość obecnie spotykanych systemów działa w trybie
klient-serwer, gdzie baza danych jest udostępniana
klientom przez SZBD będący serwerem.
Serwer baz danych może udostępniać dane klientom
bezpośrednio lub przez inny serwer pośredniczący (np.
serwer WWW lub aplikacji).
Podstawowe pojęcia ze słownika
baz danych …
•
•
•
•
Co to jest baza danych ?
Rekordy, pola, klucze
Co to jest język SQL ?
Rodzaje baz danych:
–
–
–
–
–
plikowe,
relacyjne,
obiektowe
obiektowo-relacyjne
sieciowe
Cechy bazy danych
• trwałość (aplikacja powinna działać przez
długi okres czasu – dane są przechowywane
„latami”)
• zgodność z rzeczywistością
zmiana rzeczywistości musi być uwzględniona w
bazie danych
Przykład danych do bazy
Tytuł: Potop
Tytuł: Pan Tadeusz
Tytuł: Quo Vadis
Autor:H.Sienkiewicz
Autor: A.Mickiewicz
Autor: H.Sienkiewicz
ISBN:
.......
ISBN:
.......
ISBN:
.......
POLE
REKORD
BIBLIOTEKA
Ujęcie projektowe
Atrybuty
Dane przechowywane w tabeli:
Tytuł
Autor
ISBN Rok
Wydania
...
Potop
H.Sienkiewicz
23xc4
1970
Quo Vadis
H.Sienkiewicz
3e45d
1985
Pan
Tadeusz
A.Mickiewicz
231ws 1990
...
...
...
...
... Klucz
...
Pole
...
...
Rekordy
Przykładowa struktura rzeczywistego rekordu medycznej bazy danych
W bazie danych, musimy
• kontrolować redundancję (powtarzanie się
danych)
• jeden fakt powinien być reprezentowany na
jeden sposób
• problem dostępności i dokładności
poszukiwanych danych (czas dostępu oraz
nadmiar danych)
Posługiwanie się bazą danych
•
•
•
•
wyszukiwanie danych
modyfikacja (aktualizacja) danych
dopisywanie danych
usuwanie danych
Problem jednej tabeli
Tytuł
Autor
ISBN Rok
Wydania
...
Potop
H.Sienkiewicz
23xc4
1970
Quo Vadis
H.Sienkiewicz
3e45d
1985
Pan
Tadeusz
A.Mickiewicz
231ws 1990
...
...
...
...
...
...
...
...
...
...
...
H.Sienkiewicz
A.Mickiewicz
...
...
...
Najbardziej popularne są
relacyjne bazy danych
Relacyjny model danych
• twórca E.F.Codd (1970)
• terminologia matematyczna – baza danych
to zbiór relacji
• relacja jest reprezentowana przez tablicę
(kolumny i wiersze)
– np. dla zadanej kolumny mamy w wierszu
odpowiednią wartość
Model relacyjny -rys historyczny
1970 Najbardziej znany, najczęściej cytowany artykuł E.F.Codd’a z IBM
proponujący oparcie się na teorii relacji jako podstawie ideologicznej
i teoretycznej architektury, języków i interfejsów systemów zarządzania bazami
danych. Koncepcja została określona jako “relacyjny model danych”, RDM.
1971 - 1975 Zażarta walka ideologiczna pomiędzy zwolennikami RDM a
zwolennikami koncepcji sieciowych baz danych opartych o propozycję grupy DBTG
komitetu CODASYL. Walka toczy się o pieniądze rzędu 100 miliardów $ w skali 20
lat.
1971 - 1985 Intensywny rozwój teorii związanych z RDM. RDM stał się ulubionym
konikiem grup teoretycznych na całym świecie (kilka tysięcy publikacji).
1975-1989 Intensywny rozwój technologii opartych o RDM. Kariera wielu
systemów zarzadzania relacyjnymi bazami danych, takich jak: DB2, Oracle, Ingres,
dBase; następnie Informix, Progress, Sybase, i wiele innych. Szerokie zastosowania
na
skalę
przemysłową,
ogromna
popularność
i pieniądze.
Model relacyjny - rys historyczny – cd.
1975 Pierwsze publikacje na temat języka Sequel, poprzednika SQL,
autorów z IBM (Chamberlin).
1986 Pierwszy standard języka SQL zaaprobowany przez ANSI.
Wykazuje liczne odstępstwa od RDM.
1989, 1992 Następne standardy SQL.
1987 E.F.Codd, sfrustrowany odstępstwami od RDM, publikuje słynne
12 reguł “prawdziwego” systemu relacyjnego. Żaden z istniejących
systemów nie jest “prawdziwym” systemem relacyjnym. Ma rację, ale
nikt tym się nie przejmuje. “Prawdziwego” systemu relacyjnego chyba
już nigdy nie będzie.
1985-2006 Intensywna krytyka wad RDM. Świat naukowy zredukował
swoje zainteresowanie RDM praktycznie do zera. Świat komercyjny
rozbudowuje systemy bez jakiejkolwiek troski o ideologię RDM.
Model relacyjny - podstawowe założenia
Baza danych składa się z prostokątnych tablic, każda o określonej
liczbie kolumn i dowolnej liczbie wierszy. Takie tablice sa okreslane
jako relacje. Wiersz relacji jest nazywany krotką.
Elementy krotek są atomowe (niepodzielne) i są bezpośrednio
wartościami. Niedozwolone jest tworzenie wskaźników prowadzących
do innych krotek. Niedozwolone jest, aby element krotki był zbiorem
wartości. Jest to tzw pierwsza forma normalna (1NF).
Porządek krotek nie ma znaczenia. Porządek kolumn również nie ma
znaczenia.
Jakiekolwiek cechy odnoszące się do reprezentacji relacji lub
usprawnienia dostępu do relacji są ukryte przed użytkownikiem.
Model relacyjny - podstawowe założenia- cd.
Relacje i ich kolumny posiadają nazwy. Nazwy kolumn są
określane jako atrybuty.
Każda relacja posiada wyróżniony atrybut lub grupę
atrybutów określną jako klucz. Wartość klucza w unikalny
sposób identyfikuje krotkę relacji. Jakakolwiek inna
identyfikacja krotki (np. wewnętrzny identyfikator) jest
niewidoczna dla użytkownika.
Manipulacja relacjami odbywa się w sposób makroskopowy
przy pomocy operatorów algebry relacji lub innego tego
rodzaju języka. Przetwarzanie “krotka po krotce” jest
niedozwolone.
Zalety i wady relacyjnych baz danych
Zalety
Oparte na solidnych podstawach
teoretycznych, zainteresowanie świata
nauki oraz biznesu
Stabilna pozycja na rynku
Optymalizacja zapytań
Niezależność od języka programowania
Możliwość zarządzania wielką ilością
danych
Możliwość stosowania złożonych
kryteriów wyszukiwania
Możliwość dostępu do danych
fizycznych
Dobre mechanizmy kontroli dostępu do
danych, mechanizmy perspektyw
Wady
Brak środków hermetyzacji i
modularyzacji (brak oddzielenia
implementacji od specyfikacji)
Ograniczona podatność na zmiany
Mało naturalna reprezentacja danych
Brak środków do przechowywania
informacji proceduralnych
Z góry ustalony konstruktor, brak
złożonych obiektów
Trudne odwzorowanie złożonych relacji
Niezgodność modelu pojęciowego z
modelem implementacyjnym
Niezgodność z modelem używanym
przez języki ogólnego przeznaczenia
Ważnym pojęciem w bazie danych
jest dziedzina danych
Przykład: Nie wystarczy stwierdzenie, że dane mają postać liczb
całkowitych. Dziedzina precyzuje to dokładniej.
Nazwa
Typ danych
Format danych
Numery
telefonów
lokalnych
Ciąg cyfr
ddd-dd-dd*
Numery PESEL
Ciąg cyfr
ddddddddd*
Wiek
pracowników
Ciąg cyfr
dd*
Opis
Zbiór siedmiocyfrowych
prawidłowych numerów
telefonów na obszarze
obowiązywania tego samego
numeru kierunkowego w
Polsce
Zbiór poprawnych
jedenastocyfrowych
numerów PESEL
Liczby całkowite z
przedziału <15,80>
Bazy danych - transakcyjne i analityczne
Porównanie modeli przetwarzania danych
Kryterium
Zastosowanie
Rodzaj użytkowników
Liczba użytkowników
Operacje wykonywane na
danych
Cel wykonywanych
operacji
Szczegółowość danych
Rząd wielkości bazy
danych
Przetwarzanie OLTP
Przetwarzanie OLAP
Prowadzenie biznesu
Podejmowanie decyzji
Szeregowi pracownicy,
Analitycy, menedżerowie
menedżerowie średniego szczebla
wyższego szczebla
Duża
Stosunkowo niewielka
Zapis, odczyt
Odczyt
Wprowadzanie, modyfikowanie
Szczegółowe analizy,
danych
wyszukiwanie informacji
Dane szczegółowe, brak
agregatów
Gigabajty
Agregaty, podsumowania,
niewielka ilość danych
szczegółowych
Gigabajty, Terabajty
Diagram encji i relacji jako jeden z ważnych
składników koncepcji relacyjnej bazy danych
session
id
user
time
data
users
session
user
password
function
privilege
bases
user
base
grants
mask
Przykładowa struktura fragmentu
projektu medycznej bazy danych
Proces wprowadzania
danych do bazy
za pośrednictwem
wypełnianych przez
użytkownika
„formatek
ekranowych”.
Baza danych na przykładzie
Microsoft Access
• płaszczyzna projektanta
• płaszczyzna użytkownika
– wyszukiwanie, modyfikacja, dopisywanie,
usuwanie danych – w obu płaszczyznach
• na podstawie mechanizmów płaszczyzny
projektanta możliwe jest tworzenie
płaszczyzny użytkownika (interfejs
użytkownika)
Wyszukiwanie danych
• filtr – doraźnie
• kwerenda – trwale
Relacyjna Baza Danych
Autor
Książka
Wydawnictwo
imię
tytuł
nazwa
nazwisko
ISBN
adres
...
rok wyd
...
adres
opis
Relacyjna Baza Danych
Książka
Autor
imię
tytuł
ISBN
Henryk Sienkiewicz
Potop
12234ee4
Adam
Quo Vadis
334we2
Pan
Tadeusz
23we45
nazwisko
Mickiewicz
Uczeń
Dane osobowe
Hobby
imię
nazwa
nazwisko
......
opis
.....
Oceny
ocena
opis
Przedmiot
nazwa
opis
Rzeczywiste relacyjne bazy danych
bywają dosyć rozbudowane
W bazie danych może być wyróżniona
warstwa aplikacji i warstwa prezentacji
Najważniejsze narzędzie baz danych:
SQL Structured Query Language,
czyli strukturalny język zapytań
SQL jest wszechstronnym językiem baz danych.
Obejmuje polecenia związane z definiowaniem danych,
tworzeniem zapytań oraz aktualizacją danych.
Pełni jednocześnie rolę języka DDL i języka DML.
Standard SQL umożliwia definiowanie perspektyw dla baz
danych, określanie zabezpieczeń i metod uwierzytelniania,
definiowanie więzów integralności oraz sterowanie
wykonywaniem transakcji.
SQL: podstawowy format zdania select
select [all | distinct] expression {, expression}
from table_name [corr_name] {.table_name [corr_name] }
[where search_condition1]
[group by column {, column}]
[having search_condition2]
Zapytania SQL moga być bardzo złożone.
Semantyka jest dość często niejasna (“SQL puzzles”).
Oprócz zdania select SQL wprowadza:
• zdania definicji danych
• zdania manipulacji danymi (update, insert, delete )
Mimo to, SQL nie jest pełnym językiem programowania, w związku z czym wymaga:
• Zanurzenia zdań SQL w uniwersalny język programowania
• Zdań pośredniczących, które umożliwiają takie zanurzenie
Zakładamy tablice: PRACOWNIK( NR, NAZWISKO, ZAROBEK, NRDZ)
DZIAŁ( NRDZ, NAZWA, LOKALIZACJA )
SQL: proste zdania select
Podaj nazwiska pracowników zarabiających mniej niż 1000:
select NAZWISKO from PRACOWNIK where ZAROBEK > 1000
Podaj nazwiska i nazwy działów pracowników pracujących w Radomiu:
select P.NAZWISKO, D.NAZWA from PRACOWNIK P, DZIAŁ D
where P.NRDZ = D.NRDZ and D.LOKALIZACJA = ‘Radom’
Semantyka
Zaczynamy od from: Specyfikujemy tablice do przeszukania oraz ew. ich lokalne
synonimy (ściślej: zmienne krotkowe). Tworzymy iloczyn kartezjański tablic.
Następnie where: Usuwamy z tablicy lub iloczyny kartezjańskiego takie krotki, które nie
spełniają warunku.
Na końcu select: Bierzemy z każdej wynikowej krotki to, co jest potrzebne.
SQL
Na bazie tego prostego pomysłu utworzono gigantyczną
odwróconą piramidę (setki stron specyfikacji)
Przykład interfejsu
użytkownika w klinicznej
bazie danych
„Neonatologia”
Co to jest niezgodność pomiędzy modelem
pojęciowym i modelem implementacyjnym?
Celem twórcy bazy danych jest uzyskanie jak najmniejszej luki pomiędzy myśleniem o
rzeczywistości a myśleniem o danych i procesach, które zachodzą na danych.
Mentalna percepcja
świata rzeczywistego
Model
pojęciowy
Schemat relacyjnej
struktury danych
W modelu relacyjnym model pojęciowy jest budowany w oparciu o model encja-związek.
Model encja-związek stara się odwzorować świat rzeczywisty, lecz nie może być bezpośrednio
zaimplementowany, gdyż relacyjna baza danych na to nie pozwala. W rezultacie:
- schemat struktury danych gubi znaczną część semantyki danych,
- użytkownik musi kojarzyć dane explicite w zdaniach SQL, co zwiększa ich złożoność
i powoduje wzrost czasów wykonania.
Niezgodność modelu pojęciowego i relacyjnego(1)
Departament
NrD
NazwaD
Lokacja *
Zatrudnia
Pracownik
Pracuje_w NrPrac
Zawód *
Wypłaty *
Szef
Osoba
Nazwisko
Adres *
RokUrodz
Mama
Dziecko
Dziecko
Tata
Ile schematów relacyjnych potrzeba, aby zaimplementować tę strukturę?
Departament( NrD, NazwaD )
Lokacja( NrLokacji, NazwaLok, NrD )
Szef( NrD, NrPrac)
Pracownik( NrPrac, NrOsoby)
PracDept( NrPrac, NrD)
Zawód( IdZawodu, NazwaZawodu, NrPrac )
Wypłata ( IdWypłaty,Wysokość, NrPrac )
Osoba( NrOsoby, Nazwisko, RokUrodz )
Adres( NrAdresu, Miejsce, NrOsoby )
Mama( NrOsoby, NrOsoby )
Tata( NrOsoby, NrOsoby )
Czytelna pojęciowa struktura zamieniła się
na 11 nieczytelnych schematów relacji
Pojawiły się nowe atrybuty - klucze
Semantyka wyrażona poprzez liczności
została częściowo zgubiona
Semantyka dziedziczenia została zgubiona
Odtworzenie semantyki - użytkownik musi
zrobić explicite poprzez zapytania SQL
Niezgodność modelu pojęciowego i relacyjnego(2)
Firma
Nazwa
Miejsce *
FZ
Zatrudnienie
Wypłata *
Ocena *
PZ
Osoba
Nazwisko
Imię *
Adres *
Pracownik
Zawód *
Firma( NrF, Nazwa)
Lokal( NrF, Miejsce)
Zatrudnienie( NrF, NrP)
Pracownik( NrP, NrOs)
Oceny( NrOceny, Ocena, NrF, NrP)
Dochód( NrDochodu, Wypłata, NrF, NrP)
Osoba( NrOs, Nazwisko)
Wyszkolenie( Zawód, NrP)
Imiona( NrOs, Imię)
Adresy( NrOs, Adres)
Garby modelu relacyjnego
Z góry ustalony konstruktor typu danych (relacja), rozszerzany ad hoc przez wytwórców
systemów relacyjnych. Brak złożonych obiektów. Informacje o pojęciach wyróżnialnych
i manipulowalnych w rzeczywistości są rozproszone w krotkach wielu tablic.
Skojarzenie tych informacji następuje w zapytaniach SQL, przez co wzrasta ich
złożoność oraz czas wykonania (optymalizacja zapytań tylko częściowo to rozwiązuje).
Brak wyspecjalizowanych środków do realizacji powiązań pomiędzy danymi.
Brak środków do przechowywania danych proceduralnych. Wszelkie informacje
wykraczające poza strukturę relacyjną (perspektywy, procedury bazy danych, BLOBy,
aktywne reguły,...) są implementowane ad hoc.
Brak środków hermetyzacji i modularyzacji: wykroczenie przeciwko zasadom
abstrakcji i oddzielenia implementacji od specyfikacji.
Brak uniwersalności środków dostępu do danych, powodujący konieczność zanurzenia ich
w uniwersalne języki programowania, znacznie niższego poziomu; niezgodność impedancji
(impedance mismatch). Niespełnione obietnice przetwarzania makroskopowego
(wiele-w-tym-samym-czasie); powrót do niewygodnej techniki jeden-w-tym-samym-czasie.
Niespójne mechanizmy wartości zerowych, brak wariantów, brak porządku w relacjach.
Obiektowe bazy danych
Teza: bazy danych zawsze były obiektowe, chociaż nie realizowały wszystkich
pojęć obiektowości, takich jak klasy, metody i dziedziczenie.
Podstawowy wyróżnik: trwałe
obiekty + identyfikatory obiektów
Zmniejszenie dystansu pomiędzy fazami analizy, projektowania i implementacji
Zwiększenie poziomu abstrakcji w myśleniu programistów i użytkowników
Uwzględnienie informacji proceduralnej (metody)
Stworzenie nowego potencjału dla ponownego użycia
Docelowa tendencja - ortogonalna trwałość:
Programista podczas programowania nie musi nic wiedzieć o bazie danych,
operując na jej obiektach tak jak na obiektach/zmiennych programu.
Baza danych powinna być niewidoczna (przezroczysta).
Co zdarzyło się w systemach po przejściu
na technologie obiektowe?
Część informacji semantycznej, która tradycyjnie tkwiła w bibliotekach, typach,
aplikacjach, modułach została umieszczona i usystematyzowana w ramach klas.
Relacyjna
struktura aplikacji
Obiektowa
struktura aplikacji
Powiązane obiekty
Pasywne dane
(relacje)
... ...
... ...
... ... ...
... ... ...
Klasy i typy
...
...
...
...
...
...
... ... ...
... ... ...
...
...
...
...
...
...
...
...
...
Biblioteki
procedur i funkcji
Słowniki,
katalogi
Typy
Moduły
aplikacyjne
Procedury bazy danych,
perspektywy, reguły
Biblioteki
procedur i funkcji
Słowniki,
katalogi
...
...
...
Moduły
aplikacyjne
Procedury bazy danych,
perspektywy, reguły
Dodatkowe zalety baz obiektowych
Klasyczne funkcje SZBD:
 Zarządzanie pamięcią zewnętrzną
 Zarządzanie schematem
 Sterowanie współbieżnością
 Zarządzanie transakcjami
 Odtwarzalność
 Przetwarzanie zapytań
 Kontrola dostępu
Do tych funkcji dołożone są:
 Złożone obiekty
 Typy definiowane przez użytkownika
 Tożsamość obiektów
 Powiązania pomiędzy obiektami
 Hermetyzacja, interfejsy do obiektów
 Typy i/lub klasy oraz hierarchia dziedziczenia
 Przełanianie/przeciążanie/późne wiązanie
 Kompletność obliczeniowa (pragmatyczna)
Manifest obiektowych baz danych
M.Atkinson, F.Bancilhon, D.DeWitt, K.Dittrich, D.Maier, S. Zdonik
Cechy obowiązkowe
 złożone obiekty
 przesłanianie z dynamicznym wiązaniem
 tożsamość obiektów
 rozszerzalność
 hermetyzacja
 kompletność obliczeniowa
 dziedziczenie
 zarządzanie pamięcią pomocniczą
 typy lub klasy
 współbieżność, odtwarzanie
 trwałość
 udogodnienia dla zapytań ad hoc
Cechy opcyjne
Cechy otwarte
wielokrotne dziedziczenie, kontrola typów,
rozproszenie, transakcje projektowe, wersje
paradygmat programowania, metody reprezentacji obiektów,
system typów, jednolitość (kompatybilność)
Mimo licznych zalet obiektowe bazy
danych są ciągle w fazie embrionalnej
Jak budujemy bazę danych?
• w sposób przyrostowy
- dla każdego elementu osobna baza, potem
próba łączenia
- wada – brak globalnej wizji (redundancja,
niespójność)
• od razu jako zintegrowany system
Budując bazę, bierzemy pod uwagę:
• jeden system (model) reprezentacji danych
np. model relacyjny
• współbieżny dostęp do bazy przez wielu
użytkowników
• ochrona danych
• niezależność (zależność) określonych
danych
Aplikacje korzystają z bazy:
• poprzez model danych
– zbiór zasad dotyczących struktur danych,
– warunki wspomagające utrzymanie zgodności z
rzeczywistością
• system zarządzania bazą danych
– zbiór narzędzi dających dostęp do danych i ich
aktualizacji
– np. wyszukiwanie danych, ochrona i dostęp do
danych, konta użytkowników
Modelowanie danych
• specyfikacja wymagań użytkowników
• określenie modelu systemowego
• konfiguracja sprzętu i oprogramowania
projektowanie bazy ~ 80% czasu tworzenia
implementacja bazy ~ 20% czasu tworzenia
Zaawansowane funkcje
baz danych…
•
•
•
•
•
•
Transakcje
Replikacja bazy danych
Procedury i wyzwalacze [triggery]
Klucze obce i więzy integralności
Podzapytania
Wielowątkowość i blokowanie
Popularne serwery sieciowych baz danych
NAZWA
PRODUCENT
LICENCJA
MySQL
MySQL AB
Open source
PostgreSQL
PostgreSQL
Open source
Group
MsSQL
Microsoft
Closed source
ODBC
Microsoft
Closed source
Oracle
Oracle
Closed source
Hurtownia danych
TSA
Dane
operacyjne
Hurtownia
Danych
Składnice
danych
ODS
Zasilanie
hurtowni:
czyszczenie,
transformacja,
ładowanie, itd.
Dane zewnętrzne
Warstwa danych właściwych
Metadane
Dystrybucja
danych
Użytkownicy
końcowi
Schemat gwiazdy
Schemat płatka śniegu
Integracja danych
Hurtownia danych
Import/eksport
metadanych
Adaptery
Load
Administrowanie
Usługi
metadanych
Repozytorium
metadanych
Usługi transportowe
Extract
Menedżer
mapowania danych
Bazy danych, pliki
Inne aplikacje
Indeksacja bazy danych
Sposób
rozwijania
zapytań do
bazy danych
SQL
Nazwa
Sieciowa
Adres IP
Dysk
Zapytania do bazy danych oraz odpowiedzi
Typowa interakcja „klient-serwer” w Internecie
Pośrednie sięganie do internetowej bazy danych
Model
trójwarstwowy
sieciowej bazy
danych
Protokół HTTP
Używanie sieciowej bazy danych z wykorzystaniem apletów Javy
JDBC = (Java
Data Base
Connectivity)
Dla potrzeb medycyny bardzo często
wykorzystywane są multimedialne
bazy danych, zawierające obok
danych tekstowych i liczbowych
także zapisy różnych danych
multimedialnych rejestrowanych
u pacjenta – w szczególności
różnych obrazów medycznych.
Najbardziej znanym przykładem są
tu bazy PACS
Mają one różne zastosowania
Przykład japońskiego systemu typu
PACS
Przykład multimedialnej medycznej bazy danych
(mammografia)
Przykład
indeksacji
(tworzenia opisu
przypadku)
w multimedialnej
bazie danych.
Opisy takie
sporządza się
w celu łatwego
wyszukiwania
danych.
Ręczne
sporządzanie
takich opisów jest
bardzo
czasochłonne
podczas gdy
automatyzacja tej
operacji jest
bardzo trudna.
Operacyjne bazy danych
Inne źródła danych
Architektura złożonej hurtowni danych
Pozyskiwanie
Transformacja
Wprowadzanie
HURTOWNIA DANYCH
DANE
SZCZEGÓŁOWE
Sukcesywne
generowanie i
odświeżanie
zestawień
Przepisywanie
zapytań, kontrola
poprawności
Ekstrakcja
METADANE
Hurtownie tematyczne (Data Marts)
ZESTAWIENIA
Narzędzia
analityczne
Wyszukiwanie obrazów w multimedialne
bazie danych bez angażowania czynnika ich
automatycznego rozumienia
Różne uproszczone schematy
wyszukiwania
Przykładowe interfejsy użytkownika
stosowane w systemach wyszukiwania
obrazów
VISUALSEEK
VIDEOQ
Przykład odpowiedzi systemu
wyszukiwania obrazów
Automatyczna anotacja obrazów na
bazie procesu uczenia
Podział obrazu na regiony będący
kluczem do procesu auto-anotacji
Obraz poddawany auto-anotacji
Obraz podzielony na regiony do auto-anotacji
Różnej jakości automatyczna anotacja
przykładowych obrazów
Download