Bazy danych - PowerPoint PPT Presentation

About This Presentation
Title:

Bazy danych

Description:

Title: Bazy danych - transakcyjne i analityczne Author: Ryszard Tadeusiewicz Last modified by: Ryszard Tadeusiewicz Created Date: 2/29/2004 5:22:07 PM – PowerPoint PPT presentation

Number of Views:41
Avg rating:3.0/5.0
Slides: 87
Provided by: Ryszar3
Category:
Tags: bazy | danych | java

less

Transcript and Presenter's Notes

Title: Bazy danych


1
Bazy danych
2
Baza danych
  • pojecie siegajace wieków
  • informacja pewien zasób
  • ludzie od zawsze próbuja gromadzic informacje i
    wnioskowac na jej podstawie
  • komputery tylko ulatwiaja przetwarzanie
    informacji

3
Informacja ma wartosc
  • gdy jest
  • dokladna (nie za duzo, ani nie za malo)
  • dostepna
  • gdy mamy zly sposób poszukiwania informacji
    mozemy nie byc w stanie jej odszukac
  • moze nam zabraknac zycia!
  • komputer tu nic nie pomoze

4
Baza danych
  • metoda strukturalizacji zarzadzania informacja
  • dotyczy fragmentu rzeczywistosci i stanowi
    kolekcje danych
  • czesc systemu informacyjnego
  • aplikacja bazy danych (oprogramowanie)
  • system informatyczny (sprzet)

5
Przykladowa baza danych dla diagnostyki
6
Funkcjonalna struktura bazy danych
7
Elementy bazy danych dla diagnostyki
8
Bazy danych czesto sluza do wspomagania procesów
zarzadzania
9
System zarzadzania bazami danych (SZBD) (ang.
Data Base Management System, DBMS)
  • SZBD to oprogramowanie sluzace do zarzadzania
    komputerowymi bazami danych.
  • Systemy baz danych moga byc sieciowymi serwerami
    baz danych lub udostepniac baze danych lokalnie
  • Wiekszosc obecnie spotykanych systemów dziala w
    trybie klient-serwer, gdzie baza danych jest
    udostepniana klientom przez SZBD bedacy serwerem.
  • Serwer baz danych moze udostepniac dane klientom
    bezposrednio lub przez inny serwer posredniczacy
    (np. serwer WWW lub aplikacji).

10
Podstawowe pojecia ze slownika baz danych
  • Co to jest baza danych ?
  • Rekordy, pola, klucze
  • Co to jest jezyk SQL ?
  • Rodzaje baz danych
  • plikowe,
  • relacyjne,
  • obiektowe
  • obiektowo-relacyjne
  • sieciowe

11
Cechy bazy danych
  • trwalosc (aplikacja powinna dzialac przez dlugi
    okres czasu dane sa przechowywane latami)
  • zgodnosc z rzeczywistoscia
  • zmiana rzeczywistosci musi byc uwzgledniona w
    bazie danych

12
Przyklad danych do bazy
BIBLIOTEKA
13
Ujecie projektowe
Atrybuty
Dane przechowywane w tabeli
Tytul Autor ISBN Rok Wydania ...
Potop H.Sienkiewicz 23xc4 1970 ...
Quo Vadis H.Sienkiewicz 3e45d 1985 ...
Pan Tadeusz A.Mickiewicz 231ws 1990 ...
... ... ... ... ...



Rekordy
Klucz
Pole
14
Przykladowa struktura rzeczywistego rekordu
medycznej bazy danych
15
W bazie danych, musimy
  • kontrolowac redundancje (powtarzanie sie danych)
  • jeden fakt powinien byc reprezentowany na jeden
    sposób
  • problem dostepnosci i dokladnosci poszukiwanych
    danych (czas dostepu oraz nadmiar danych)

16
Poslugiwanie sie baza danych
  • wyszukiwanie danych
  • modyfikacja (aktualizacja) danych
  • dopisywanie danych
  • usuwanie danych

17
Problem jednej tabeli
Tytul 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 ... ... ...

18
Najbardziej popularne sa relacyjne bazy danych
19
Relacyjny model danych
  • twórca E.F.Codd (1970)
  • terminologia matematyczna baza danych to zbiór
    relacji
  • relacja jest reprezentowana przez tablice
    (kolumny i wiersze)
  • np. dla zadanej kolumny mamy w wierszu
    odpowiednia wartosc

20
Model relacyjny -rys historyczny
1970 Najbardziej znany, najczesciej cytowany
artykul E.F.Codda z IBM proponujacy oparcie sie
na teorii relacji jako podstawie ideologicznej i
teoretycznej architektury, jezyków i interfejsów
systemów zarzadzania bazami danych. Koncepcja
zostala okreslona jako relacyjny model danych,
RDM. 1971 - 1975 Zazarta walka ideologiczna
pomiedzy zwolennikami RDM a zwolennikami
koncepcji sieciowych baz danych opartych o
propozycje grupy DBTG komitetu CODASYL. Walka
toczy sie o pieniadze rzedu 100 miliardów w
skali 20 lat. 1971 - 1985 Intensywny rozwój
teorii zwiazanych z RDM. RDM stal sie ulubionym
konikiem grup teoretycznych na calym swiecie
(kilka tysiecy publikacji). 1975-1989 Intensywny
rozwój technologii opartych o RDM. Kariera wielu
systemów zarzadzania relacyjnymi bazami danych,
takich jak DB2, Oracle, Ingres, dBase nastepnie
Informix, Progress, Sybase, i wiele innych.
Szerokie zastosowania na skale przemyslowa,
ogromna popularnosc i pieniadze.
21
Model relacyjny - rys historyczny cd.
  • 1975 Pierwsze publikacje na temat jezyka Sequel,
    poprzednika SQL, autorów z IBM (Chamberlin).
  • 1986 Pierwszy standard jezyka SQL zaaprobowany
    przez ANSI. Wykazuje liczne odstepstwa od RDM.
  • 1989, 1992 Nastepne standardy SQL.
  • 1987 E.F.Codd, sfrustrowany odstepstwami od RDM,
    publikuje slynne 12 regul prawdziwego systemu
    relacyjnego. Zaden z istniejacych systemów nie
    jest prawdziwym systemem relacyjnym. Ma racje,
    ale nikt tym sie nie przejmuje. Prawdziwego
    systemu relacyjnego chyba juz nigdy nie bedzie.
  • 1985-2006 Intensywna krytyka wad RDM. Swiat
    naukowy zredukowal swoje zainteresowanie RDM
    praktycznie do zera. Swiat komercyjny rozbudowuje
    systemy bez jakiejkolwiek troski o ideologie RDM.

22
Model relacyjny - podstawowe zalozenia
Baza danych sklada sie z prostokatnych tablic,
kazda o okreslonej liczbie kolumn i dowolnej
liczbie wierszy. Takie tablice sa okreslane jako
relacje. Wiersz relacji jest nazywany
krotka. Elementy krotek sa atomowe
(niepodzielne) i sa bezposrednio wartosciami.
Niedozwolone jest tworzenie wskazników
prowadzacych do innych krotek. Niedozwolone jest,
aby element krotki byl zbiorem wartosci. Jest to
tzw pierwsza forma normalna (1NF). Porzadek
krotek nie ma znaczenia. Porzadek kolumn równiez
nie ma znaczenia. Jakiekolwiek cechy odnoszace
sie do reprezentacji relacji lub usprawnienia
dostepu do relacji sa ukryte przed uzytkownikiem.
23
Model relacyjny - podstawowe zalozenia- cd.
  • Relacje i ich kolumny posiadaja nazwy. Nazwy
    kolumn sa okreslane jako atrybuty.
  • Kazda relacja posiada wyrózniony atrybut lub
    grupe atrybutów okreslna jako klucz. Wartosc
    klucza w unikalny sposób identyfikuje krotke
    relacji. Jakakolwiek inna identyfikacja krotki
    (np. wewnetrzny identyfikator) jest niewidoczna
    dla uzytkownika.
  • Manipulacja relacjami odbywa sie w sposób
    makroskopowy przy pomocy operatorów algebry
    relacji lub innego tego rodzaju jezyka.
    Przetwarzanie krotka po krotce jest
    niedozwolone.

24
Zalety i wady relacyjnych baz danych
25
Waznym pojeciem w bazie danych jest dziedzina
danych
Przyklad Nie wystarczy stwierdzenie, ze dane
maja postac liczb calkowitych. Dziedzina
precyzuje to dokladniej.
26
Bazy danych - transakcyjne i analityczne
27
Diagram encji i relacji jako jeden z waznych
skladników koncepcji relacyjnej bazy danych
28
Przykladowa struktura fragmentu projektu
medycznej bazy danych
29
Proces wprowadzania danych do bazy za
posrednictwem wypelnianych przez uzytkownika
formatek ekranowych.
30
Baza danych na przykladzie Microsoft Access
  • plaszczyzna projektanta
  • plaszczyzna uzytkownika
  • wyszukiwanie, modyfikacja, dopisywanie, usuwanie
    danych w obu plaszczyznach
  • na podstawie mechanizmów plaszczyzny projektanta
    mozliwe jest tworzenie plaszczyzny uzytkownika
    (interfejs uzytkownika)

31
Wyszukiwanie danych
  • filtr doraznie
  • kwerenda trwale

32
Relacyjna Baza Danych
Autor
Ksiazka
Wydawnictwo
tytul
nazwa
imie
ISBN
adres
nazwisko
opis
adres
rok wyd
...
...
33
Relacyjna Baza Danych
Ksiazka
Autor
imie nazwisko
Henryk Sienkiewicz
Adam Mickiewicz



tytul ISBN
Potop 12234ee4
Quo Vadis 334we2
Pan Tadeusz 23we45


34
Uczen
35
Rzeczywiste relacyjne bazy danych bywaja dosyc
rozbudowane
36
W bazie danych moze byc wyrózniona warstwa
aplikacji i warstwa prezentacji
37
Najwazniejsze narzedzie baz danych SQL
Structured Query Language, czyli strukturalny
jezyk zapytan
  • SQL jest wszechstronnym jezykiem baz danych.
  • Obejmuje polecenia zwiazane z definiowaniem
    danych, tworzeniem zapytan oraz aktualizacja
    danych.
  • Pelni jednoczesnie role jezyka DDL i jezyka DML.
  • Standard SQL umozliwia definiowanie perspektyw
    dla baz danych, okreslanie zabezpieczen i metod
    uwierzytelniania, definiowanie wiezów
    integralnosci oraz sterowanie wykonywaniem
    transakcji.

38
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 byc bardzo zlozone. Semantyka
jest dosc czesto niejasna (SQL puzzles).
  • Oprócz zdania select SQL wprowadza
  • zdania definicji danych
  • zdania manipulacji danymi (update, insert,
    delete )
  • Mimo to, SQL nie jest pelnym jezykiem
    programowania, w zwiazku z czym wymaga
  • Zanurzenia zdan SQL w uniwersalny jezyk
    programowania
  • Zdan posredniczacych, które umozliwiaja takie
    zanurzenie

39
SQL proste zdania select
Zakladamy tablice PRACOWNIK( NR, NAZWISKO,
ZAROBEK, NRDZ) DZIAL( NRDZ, NAZWA, LOKALIZACJA
)
Podaj nazwiska pracowników zarabiajacych mniej
niz 1000
select NAZWISKO from PRACOWNIK where ZAROBEK gt
1000
Podaj nazwiska i nazwy dzialów pracowników
pracujacych w Radomiu
select P.NAZWISKO, D.NAZWA from PRACOWNIK P,
DZIAL D where P.NRDZ D.NRDZ and D.LOKALIZACJA
Radom
Semantyka Zaczynamy od from Specyfikujemy
tablice do przeszukania oraz ew. ich lokalne
synonimy (scislej zmienne krotkowe). Tworzymy
iloczyn kartezjanski tablic. Nastepnie where
Usuwamy z tablicy lub iloczyny kartezjanskiego
takie krotki, które nie spelniaja warunku. Na
koncu select Bierzemy z kazdej wynikowej krotki
to, co jest potrzebne.
Na bazie tego prostego pomyslu utworzono
gigantyczna odwrócona piramide (setki stron
specyfikacji)
40
Przyklad interfejsu uzytkownika w klinicznej
bazie danych Neonatologia
41
Co to jest niezgodnosc pomiedzy modelem
pojeciowym i modelem implementacyjnym?
Celem twórcy bazy danych jest uzyskanie jak
najmniejszej luki pomiedzy mysleniem o
rzeczywistosci a mysleniem o danych i procesach,
które zachodza na danych.
Mentalna percepcja swiata rzeczywistego
Model pojeciowy
Schemat relacyjnej struktury danych
W modelu relacyjnym model pojeciowy jest budowany
w oparciu o model encja-zwiazek. Model
encja-zwiazek stara sie odwzorowac swiat
rzeczywisty, lecz nie moze byc bezposrednio
zaimplementowany, gdyz relacyjna baza danych na
to nie pozwala. W rezultacie - schemat
struktury danych gubi znaczna czesc semantyki
danych, - uzytkownik musi kojarzyc dane
explicite w zdaniach SQL, co zwieksza ich
zlozonosc i powoduje wzrost czasów wykonania.
42
Niezgodnosc modelu pojeciowego i relacyjnego(1)
Mama
Zatrudnia
Osoba Nazwisko Adres RokUrodz
Departament NrD NazwaD Lokacja
Pracownik NrPrac Zawód Wyplaty
Dziecko
Pracuje_w
Dziecko
Szef
Tata
Ile schematów relacyjnych potrzeba, aby
zaimplementowac te strukture?
Czytelna pojeciowa struktura zamienila sie na 11
nieczytelnych schematów relacji Pojawily sie
nowe atrybuty - klucze Semantyka wyrazona
poprzez licznosci zostala czesciowo
zgubiona Semantyka dziedziczenia zostala
zgubiona Odtworzenie semantyki - uzytkownik
musi zrobic explicite poprzez zapytania SQL
Departament( NrD, NazwaD ) Lokacja( NrLokacji,
NazwaLok, NrD ) Szef( NrD, NrPrac) Pracownik(
NrPrac, NrOsoby) PracDept( NrPrac, NrD) Zawód(
IdZawodu, NazwaZawodu, NrPrac ) Wyplata (
IdWyplaty,Wysokosc, NrPrac ) Osoba( NrOsoby,
Nazwisko, RokUrodz ) Adres( NrAdresu, Miejsce,
NrOsoby ) Mama( NrOsoby, NrOsoby ) Tata( NrOsoby,
NrOsoby )
43
Niezgodnosc modelu pojeciowego i relacyjnego(2)
Pracownik Zawód
FZ
PZ
Firma( NrF, Nazwa)
Lokal( NrF, Miejsce)
Zatrudnienie( NrF, NrP)
Pracownik( NrP, NrOs)
Oceny( NrOceny, Ocena, NrF, NrP)
Osoba( NrOs, Nazwisko)
Dochód( NrDochodu, Wyplata, NrF, NrP)
Wyszkolenie( Zawód, NrP)
Imiona( NrOs, Imie)
Adresy( NrOs, Adres)
44
Garby modelu relacyjnego
Z góry ustalony konstruktor typu danych
(relacja), rozszerzany ad hoc przez
wytwórców systemów relacyjnych. Brak zlozonych
obiektów. Informacje o pojeciach wyróznialnych i
manipulowalnych w rzeczywistosci sa rozproszone w
krotkach wielu tablic.
Skojarzenie tych informacji nastepuje w
zapytaniach SQL, przez co wzrasta ich zlozonosc
oraz czas wykonania (optymalizacja zapytan tylko
czesciowo to rozwiazuje).
Brak wyspecjalizowanych srodków do realizacji
powiazan pomiedzy danymi.
Brak srodków do przechowywania danych
proceduralnych. Wszelkie informacje wykraczajace
poza strukture relacyjna (perspektywy, procedury
bazy danych, BLOBy, aktywne reguly,...) sa
implementowane ad hoc.
Brak srodków hermetyzacji i modularyzacji
wykroczenie przeciwko zasadom abstrakcji i
oddzielenia implementacji od specyfikacji.
Brak uniwersalnosci srodków dostepu do danych,
powodujacy koniecznosc zanurzenia ich w
uniwersalne jezyki programowania, znacznie
nizszego poziomu niezgodnosc impedancji (impedanc
e mismatch). Niespelnione obietnice przetwarzania
makroskopowego (wiele-w-tym-samym-czasie)
powrót do niewygodnej techniki jeden-w-tym-samym-c
zasie.
Niespójne mechanizmy wartosci zerowych, brak
wariantów, brak porzadku w relacjach.
45
Obiektowe bazy danych
Teza bazy danych zawsze byly obiektowe,
chociaz nie realizowaly wszystkich pojec
obiektowosci, takich jak klasy, metody i
dziedziczenie.
Podstawowy wyróznik trwale obiekty
identyfikatory obiektów
Zmniejszenie dystansu pomiedzy fazami analizy,
projektowania i implementacji
Zwiekszenie poziomu abstrakcji w mysleniu
programistów i uzytkowników
Uwzglednienie informacji proceduralnej (metody)
Stworzenie nowego potencjalu dla ponownego uzycia
Docelowa tendencja - ortogonalna trwalosc
Programista podczas programowania nie musi nic
wiedziec o bazie danych, operujac na jej
obiektach tak jak na obiektach/zmiennych
programu. Baza danych powinna byc niewidoczna
(przezroczysta).
46
Co zdarzylo sie w systemach po przejsciu na
technologie obiektowe?
Czesc informacji semantycznej, która
tradycyjnie tkwila w bibliotekach, typach,
aplikacjach, modulach zostala umieszczona i
usystematyzowana w ramach klas.
Relacyjna struktura aplikacji
Obiektowa struktura aplikacji
Pasywne dane (relacje)
Powiazane obiekty
Klasy i typy
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Typy
Biblioteki procedur i funkcji
Moduly aplikacyjne
Moduly aplikacyjne
Procedury bazy danych, perspektywy, reguly
Slowniki, katalogi
Slowniki, katalogi
47
Dodatkowe zalety baz obiektowych
Klasyczne funkcje SZBD
  • Zarzadzanie pamiecia zewnetrzna
  • Zarzadzanie schematem
  • Sterowanie wspólbieznoscia
  • Zarzadzanie transakcjami
  • Odtwarzalnosc
  • Przetwarzanie zapytan
  • Kontrola dostepu

Do tych funkcji dolozone sa
  • Zlozone obiekty
  • Typy definiowane przez uzytkownika
  • Tozsamosc obiektów
  • Powiazania pomiedzy obiektami
  • Hermetyzacja, interfejsy do obiektów
  • Typy i/lub klasy oraz hierarchia dziedziczenia
  • Przelanianie/przeciazanie/pózne wiazanie
  • Kompletnosc obliczeniowa (pragmatyczna)

48
Manifest obiektowych baz danych
M.Atkinson, F.Bancilhon, D.DeWitt, K.Dittrich,
D.Maier, S. Zdonik
Cechy obowiazkowe
  • zlozone obiekty
  • przeslanianie z dynamicznym wiazaniem
  • tozsamosc obiektów
  • rozszerzalnosc
  • hermetyzacja
  • kompletnosc obliczeniowa
  • dziedziczenie
  • zarzadzanie pamiecia pomocnicza
  • typy lub klasy
  • wspólbieznosc, odtwarzanie
  • trwalosc
  • udogodnienia dla zapytan ad hoc

wielokrotne dziedziczenie, kontrola typów,
rozproszenie, transakcje projektowe, wersje
Cechy opcyjne
paradygmat programowania, metody reprezentacji
obiektów, system typów, jednolitosc
(kompatybilnosc)
Cechy otwarte
49
Mimo licznych zalet obiektowe bazy danych sa
ciagle w fazie embrionalnej
50
Jak budujemy baze danych?
  • w sposób przyrostowy
  • - dla kazdego elementu osobna baza, potem próba
    laczenia
  • wada brak globalnej wizji (redundancja,
    niespójnosc)
  • od razu jako zintegrowany system

51
Budujac baze, bierzemy pod uwage
  • jeden system (model) reprezentacji danychnp.
    model relacyjny
  • wspólbiezny dostep do bazy przez wielu
    uzytkowników
  • ochrona danych
  • niezaleznosc (zaleznosc) okreslonych danych

52
Aplikacje korzystaja z bazy
  • poprzez model danych
  • zbiór zasad dotyczacych struktur danych,
  • warunki wspomagajace utrzymanie zgodnosci z
    rzeczywistoscia
  • system zarzadzania baza danych
  • zbiór narzedzi dajacych dostep do danych i ich
    aktualizacji
  • np. wyszukiwanie danych, ochrona i dostep do
    danych, konta uzytkowników

53
Modelowanie danych
  • specyfikacja wymagan uzytkowników
  • okreslenie modelu systemowego
  • konfiguracja sprzetu i oprogramowania
  • projektowanie bazy 80 czasu tworzenia
  • implementacja bazy 20 czasu tworzenia

54
Zaawansowane funkcje baz danych
  • Transakcje
  • Replikacja bazy danych
  • Procedury i wyzwalacze triggery
  • Klucze obce i wiezy integralnosci
  • Podzapytania
  • Wielowatkowosc i blokowanie

55
Popularne serwery sieciowych baz danych
56
(No Transcript)
57
(No Transcript)
58
Hurtownia danych
59
Schemat gwiazdy
60
Schemat platka sniegu
61
Integracja danych
62
Indeksacja bazy danych
63
Sposób rozwijania zapytan do bazy danych
64
Zapytania do bazy danych oraz odpowiedzi
65
Typowa interakcja klient-serwer w Internecie
66
Posrednie sieganie do internetowej bazy danych
67
Model trójwarstwowy sieciowej bazy danych
68
Protokól HTTP
69
Uzywanie sieciowej bazy danych z wykorzystaniem
apletów Javy
JDBC (Java Data Base Connectivity)
70
Dla potrzeb medycyny bardzo czesto wykorzystywane
sa multimedialne bazy danych, zawierajace obok
danych tekstowych i liczbowych takze zapisy
róznych danych multimedialnych rejestrowanychu
pacjenta w szczególnosci róznych obrazów
medycznych.
71
Najbardziej znanym przykladem sa tu bazy PACS
72
Maja one rózne zastosowania
73
Przyklad japonskiego systemu typu PACS
74
Przyklad multimedialnej medycznej bazy danych
(mammografia)
75
Przyklad indeksacji (tworzenia opisu przypadku)
w multimedialnej bazie danych.Opisy takie
sporzadza sie w celu latwego wyszukiwania
danych.Reczne sporzadzanie takich opisów jest
bardzo czasochlonne podczas gdy automatyzacja tej
operacji jest bardzo trudna.
76
Architektura zlozonej hurtowni danych
77
Wyszukiwanie obrazów w multimedialne bazie danych
bez angazowania czynnika ich automatycznego
rozumienia
78
Rózne uproszczone schematy wyszukiwania
79
Przykladowe interfejsy uzytkownika stosowane w
systemach wyszukiwania obrazów
80
VISUALSEEK
81
(No Transcript)
82
VIDEOQ
83
Przyklad odpowiedzi systemu wyszukiwania obrazów
84
Automatyczna anotacja obrazów na bazie procesu
uczenia
85
Podzial obrazu na regiony bedacy kluczem do
procesu auto-anotacji
Obraz poddawany auto-anotacji
Obraz podzielony na regiony do auto-anotacji
86
Róznej jakosci automatyczna anotacja
przykladowych obrazów
Write a Comment
User Comments (0)
About PowerShow.com