Bazy danych - BD
Wprowadzenie do problematyki baz
danych
Wykład przygotował:
Robert Wrembel
BD wykład 1 (1)
Niniejszy cykl 13 wykładów będzie poświęcony bazom danych.
1
Bazy danych - BD
Plan wykładu
" Podstawowa terminologia
" Charakterystyka baz danych
" Modele danych
" U\ytkownicy baz danych
" System zarządzania bazą danych (SZBD)
" Klasyfikacja baz danych
BD wykład 1 (2)
Celem pierwszego wykładu jest ogólne wprowadzenie do problematyki baz danych.
Zostaną tu omówione:
- podstawowa terminologia
- charakterystyka baz danych
- wymagania stawiane bazom danych
- cechy technologii baz danych
- cechy systemu zarządzania bazą danych
- wprowadzenie do modeli danych
- charakterystyka u\ytkowników baz danych
- charakterystyka sposobów korzystania z bazy danych
- architektury: wewnętrzna i komunikacyjna baz danych
- ogólny podział baz danych
2
Bazy danych - BD
Terminologia
U\ytkownicy
System
Aplikacja
informatyczny
Aplikacja
Aplikacja
System
bazy danych
System zarządzania
bazą danych
Schemat
Baza danych
BD wykład 1 (3)
Zbiór danych opisujący pewien wybrany fragment rzeczywistości będziemy nazywać
bazą danych. Przykładowo, bazą danych mo\e być zbiór danych banku na temat
klientów, ich rachunków, operacji na rachunkach, udzielanych kredytach.
Dane w bazie danych posiadają dwie podstawowe cechy. Po pierwsze, odzwierciedlają
rzeczywistość w sposób z nią zgodny (prawidłowy). Po drugie, są zorganizowane w
specyficzny sposób, zgodnie z tzw. modelem danych (model danych zostanie omówiony
w dalszej części kursu).
Struktura danych i powiązania między nimi są opisane przez tzw. schemat bazy danych.
Baza danych jest zarządzana przez tzw. system zarządzania bazą danych, w skrócie
SZBD. Funkcje oferowane przez SZBD zostaną omówione w dalszej części wykładu.
SZBD i bazę danych będziemy dalej nazywać systemem bazy danych.
Z systemem bazy danych współpracują programy u\ytkowników, zwane aplikacjami.
Zadaniem tych programów jest przetwarzanie danych, tj. wstawianie nowych danych,
modyfikowanie danych ju\ istniejących, usuwanie danych nieaktualnych, wyszukiwanie
danych.
Wszystkie omówione wy\ej komponenty (tj. baza danych, SZBD i aplikacje) wchodzą w
skład tzw. systemu informatycznego.
3
Bazy danych - BD
Charakterystyka baz danych (1)
1. Trwałość danych
Długi czas \ycia kilka, kilkadziesiąt, kilkaset lat
Niezale\ność od działania aplikacji
2. Rozmiar wolumenu danych
Dane nie mieszczą się w pamięci operacyjnej
wymagana pamięć zewnętrzna
Danych jest zbyt du\o dla ich liniowego
przeglądania przez u\ytkowników
BD wykład 1 (4)
Do głównych cech charakteryzujących bazę danych zalicza się: trwałość danych, rozmiar
wolumenu danych i zło\oność danych.
Trwałość danych oznacza, \e dane przechowywane w bazie danych nie są ulotne. W
konsekwencji, okres przechowywania danych jest ograniczony wyłącznie okresem
\ywotności nośnika danych. "Czas \ycia" danych, po ich zapisaniu do bazy danych jest
niezale\ny od istnienia i działania bądz niedziałania aplikacji. Trwałość danych jest
równie\ niezale\na od platformy sprzętowo-programowej.
W ogromnej większości zastosowań, dane zgromadzone w bazie danych nie mieszczą się
w pamięci operacyjnej, więc do ich składowania jest wymagana pamięć zewnętrzna
(dyskowa, optyczna, taśmowa). Tak du\e ilości danych nie mogą być przeglądane
liniowo ze względu na niewielką efektywność tej techniki. W konsekwencji konieczne
jest wykorzystanie innych zaawansowanych mechanizmów efektywnego dostępu do
danych.
4
Bazy danych - BD
Charakterystyka baz danych (2)
3. Zło\oność danych
Zło\oność strukturalna i zło\oność zale\ności
pomiędzy danymi
Zło\oność semantyczna
Ograniczenia integralnościowe
BD wykład 1 (5)
Dane gromadzone w bazie danych często są zło\one ze względu na:
- zło\oność ich struktur i zale\ności pomiędzy danymi (np. projekt samochodu, zło\ony
z tysięcy elementów),
- zło\oność semantyczną danych (np. fakt przyznania kredytu mieszkaniowego jest
uzale\niony od spełnienia lub niespełnienia wielu wymagań przez petenta).
Ponadto, na dane są często nakładane tzw. ograniczenia integralnościowe gwarantujące,
\e w bazie danych pojawią się wyłącznie dane spełniające te ograniczenia. Ograniczenia
takie mogą być równie\ bardzo zło\one.
5
Bazy danych - BD
Wymagania (1)
" Spójność bazy danych
" Efektywne przetwarzanie danych
" Poprawne modelowanie świata rzeczywistego
" Autoryzacja dostępu do danych
" Współbie\ność dostępu do danych
" Metadane
BD wykład 1 (6)
Bazie danych stawia się 6 podstawowych wymagań.
Po pierwsze, musi ona gwarantować spójność danych.
Po drugie, musi zapewniać efektywne przetwarzanie danych.
Po trzecie, musi poprawnie odzwierciedlać zale\ności w świecie rzeczywistym, który
baza danych reprezentuje.
Po czwarte, musi chronić przed nieautoryzowanym dostępem.
Po piąte, musi zapewniać współbie\ny dostęp do danych wielu u\ytkownikom.
Po szóste, musi udostępniać tzw. metadane.
6
Bazy danych - BD
Wymagania (2)
1. Spójność bazy danych
" Poprawność danych z punktu widzenia
przyjętych kryteriów
" wierne odzwierciedlenie danych
rzeczywistych
" spełnienie ograniczeń nało\onych przez
u\ytkowników
BD wykład 1 (7)
Spójność bazy danych jest definiowana jako poprawność danych z punktu widzenia
pewnych przyjętych kryteriów. Definiując spójność wymienia się trzy takie kryteria, tj.:
- wierne odzwierciedlenie danych rzeczywistych,
- spełnienie ograniczeń nało\onych przez u\ytkowników,
- brak anomalii wynikających ze współbie\nego dostępu do danych.
Kryterium pierwsze nale\y interpretować następująco: dane przechowywane w bazie
danych są takie jak w świecie rzeczywistym, który ta baza reprezentuje. Przykładowo, w
bazie danych dziekanatu Wydziału Informatyki i Zarządzania PP są przechowywane
dane tylko tych studentów, którzy kiedykolwiek ukończyli studia i dane tylko studentów
aktualnie studiujących. Innymi słowy, baza ta nie zawiera danych studentów
nieistniejących. Ponadto, zale\ności między danymi wiernie odzwierciedlają zale\ności
pomiędzy obiektami świata rzeczywistego. Przykładowo, grupa studencka G1 w bazie
danych dziekanatu składa się ze studentów nale\ących do tej grupy w świecie
rzeczywistym.
Kryterium drugie oznacza, \e wszystkie dane w bazie, na które nało\ono pewne
ograniczenia integralnościowe muszą te ograniczenia spełniać. Przykładowo, w bazie
danych dziekanatu zdefiniowano ograniczenie na mo\liwe wartości oceny i określono,
zbiór dozwolonych ocen jako {2, 3, 4, 5}. Oznacza to, \e w bazie danych nie pojawi się
\adna inna ocena ni\ dozwolona.
7
Bazy danych - BD
Wymagania (3)
" Spójność bazy danych cd.
Odporność na anomalie będące wynikiem
współbie\ności dostępu do baz danych
Odporność na błędy, awarie i inne anormalne
sytuacje wynikające z zawodności środowiska
sprzętowo-programowego
Odporność na błędy u\ytkowników
BD wykład 1 (8)
W przypadku baz danych, z których korzysta przynajmniej dwóch u\ytkowników mogą
powstać dane niepoprawne na skutek równoczesnego modyfikowania tego samego
zbioru danych. Baza danych musi być odporna na takie sytuacje niepoprawne.
Spójność to równie\ poprawność danych w przypadku awarii sprzętowo-programowych.
W sytuacji wystąpienia awarii, w bazie danych nie mogą powstać dane niepoprawne.
Ponadto, \adne dane nie mogą zostać utracone.
Baza danych powinna być równie\ odporna na przypadkowe błędy u\ytkowników, np.
usunięcie danych. W takiej sytuacji musi istnieć mechanizm naprawienia błędu,
wycofania akcji u\ytkownika.
8
Bazy danych - BD
Wymagania (4)
2. Efektywne przetwarzanie danych
Efektywne metody dostępu do danych
Optymalizacja metod dostępu do danych
Niezale\ność aplikacji od fizycznych metod dostępu
BD wykład 1 (9)
Drugim wymaganiem stawianym bazie danych jest zapewnienie efektywnego
przetwarzania danych, tj. wstawiania nowych danych, modyfikowania istniejących,
usuwania i wyszukiwania danych. W tym celu koniecznej jest wykorzystywanie
efektywnych metod dostępu do danych z wykorzystaniem specjalizowanych struktur i
opytmalizacja metod dostępu. Ponadto, program, czy u\ytkownik korzystający z bazy
danych nie zna fizycznej organizacji danych na nośniku. W związku z tym,
optymalizacja dostępu powinna być realizowana przez wyspecjalizowany moduł
programowy i powinna być niewidoczna dla u\ytkownika.
9
Bazy danych - BD
Wymagania (5)
3. Poprawne modelowanie świata rzeczywistego
Wspomaganie procesu projektowania i
utrzymania bazy danych
Ró\ne poziomy modelowania danych
Transformacje między modelami danych
4. Autoryzacja dostępu do danych
u\ytkownicy z hasłami dostępu
u\ytkownicy i ich uprawnienia
BD wykład 1 (10)
Trzecim wymaganiem stawianym bazie danych jest poprawne modelowanie świata
rzeczywistego. Oznacza to, \e struktura bazy danych musi odzwierciedlać we
właściwy/poprawny sposób obiekty świata rzeczywistego i powiązania pomiędzy tymi
obiektami. Przykładowo, je\eli dealer samochodowy sprzedaje samochody osobowe i
dostawcze w ró\nych konfiguracjach, to baza danych dla tego dealera musi umo\liwiać
przechowywanie danych na temat samochodów i osobowych i dostawczych, oraz
konfiguracji poszczególnych modeli.
Producenci systemów zarządzania bazami danych oferują narzędzia wspomagające
procesy modelowania danych, projektowania bazy danych i transformacje pomiędzy
ró\nymi modelami.
Czwartym wymaganiem jest autoryzacja dostępu do danych. Oznacza to, \e dostęp do
bazy danych mają tylko jej u\ytkownicy identyfikowani unikalną nazwą i hasłem.
Ponadto, ka\dy u\ytkownik posiada określone uprawnienia w bazie danych.
10
Bazy danych - BD
Wymagania (6)
5. Współbie\ność dostępu do danych
równoczesny dostęp do tych samych danych przez
wielu u\ytkowników
konflikt odczyt-zapis, zapis-zapis
6. Metadane
dane o danych, strukturach dostępu, u\ytkownikach
i ich prawach
BD wykład 1 (11)
Piątym wymaganiem jest zagwarantowanie mo\liwości równoczesnej pracy wielu
u\ytkownikom tej samej bazy danych. Co więcej, u\ytkownicy ci mogą jednocześnie
pracować z tym samym zbiorem danych. W takim przypadku mogą powstać konflikty w
dostępie do danych, gdy jeden u\ytkownik modyfikuje zbiór danych, a drugi próbuje ten
sam zbiór odczytać lub zmodyfikować. Baza danych musi zapewnić poprawne
rozwiązanie tego typu konfliktów.
Szóstym wymaganiem jest wsparcie dla tzw. metadanych. Metadane to najprościej
mówiąc dane o bazie danych. Dane te opisują m.in.: dane przechowywane w bazie,
struktury danych, u\ytkowników i ich uprawnienia.
11
Bazy danych - BD
Technologia baz danych (1)
1. Fizyczne struktury danych i metody dostępu
Pliki uporządkowane, haszowe, zgrupowane,
indeksy drzewiaste i bitmapowe
Metoda połowienia binarnego, haszowanie
statyczne i dynamiczne, metody połączenia,
sortowanie, grupowanie
Składniowe i kosztowe metody optymalizacji
dostępu
Fizyczna niezale\ność danych
BD wykład 1 (12)
Omówione wymagania odnośnie baz danych są zapewniane w ramach tzw. technologii
baz danych. Oferuje ona m.in.
fizyczne struktury i metody dostępu. Do fizycznych struktur wykorzystywanych w
bazach danych zalicza się pliki uporządkowane, pliki haszowe, pliki zgrupowane,
indeksy drzewiaste i indeksy bitmapowe. Do metod dostępu zalicza się: połowienie
binarne, haszowanie statyczne i dynamiczne, algorytmy łączenia, sortowania i
grupowania.
Dostęp do danych z wykorzystaniem struktur fizycznych i metod dostępuj jest
optymalizowany za pomocą zaawansowanych technik optymalizacji składniowej i
kosztowej.
Ponadto, fizyczna organizacja danych na dysku nie ma wpływu na działanie
aplikacji/programów u\ytkowników korzystających z bazy danych. Oznacza to, \e
zmiana fizycznej organizacji danych np. o klientach banku, po pierwsze, jest
niewidoczna dla u\ytkownika i po drugie, nie wymaga zmiany kodu aplikacji. Innymi
słowy aplikacja działa tak samo dobrze jak poprzednio.
12
Bazy danych - BD
Technologia baz danych (2)
2. Przetwarzanie transakcyjne (spójność baz danych)
Dostęp do bazy danych za pomocą transakcji o
własnościach ACID
Metody synchronizacji transakcji (2PL, znaczniki
czasowe, wielowersyjność danych)
Metody odtwarzania spójności bazy danych (plik
logu, odtwarzanie i wycofywanie operacji, Write
Ahead Log, punkty kontrolne)
Archiwizacja bazy danych i odtwarzanie po
awarii
BD wykład 1 (13)
Technologia baz danych oferuje wsparcie dla tzw. przetwarzania transakcyjnego,
zapewniającego spójność całej bazy danych.
W ramach tego przetwarzania ka\dy dostęp do bazy danych jest realizowany w ramach
pewnej jednostki interakcji, zwanej transakcją. Posiada ona cechy atomowości,
spójności, izolacji i trwałości (problematyka transakcji zostanie omówiona w osobnym
wykładzie). Transakcje działające równocześnie w systemie muszą być synchronizowane
za pomocą specjalizowanych algorytmów (2PL, znaczników czasowych) i stosowania
wersji danych.
Zapewnienie spójności danych, np. w przypadku konfliktu transakcji lub awarii
sprzętowo-programowych, często wymaga wycofania zmian w bazie danych. Do tego
celu konieczne są dodatkowe struktury danych, algorytmy i mechanizmy systemowe.
Awaria sprzętowo-programowa nie mo\e spowodować utraty \adnych danych. W celu
zapewnienia tego wymagania stosuje się techniki i systemowe mechanizmy
archiwizowania bazy danych i jej odtwarzania po awarii.
13
Bazy danych - BD
Technologia baz danych (3)
3. Modele danych
Modele pojęciowe (model związków-encji, UML)
Modele logiczne (relacyjny, obiektowy,
obiektowo-relacyjny, semistrukturalny,
hierarchiczny, sieciowy)
4. Narzędzia programistyczne
Języki budowy aplikacji
Narzędzia modelowania i projektowania
Metodyki projektowania
BD wykład 1 (14)
Technologia baz danych oferuje wsparcie dla wielu modeli danych, czyli wielu
sposobów reprezentowania danych. Wyró\nia się tu:
- modele pojęciowe (np. związków-encji, UML),
- modele logiczne (np. relacyjny, obiektowy, obiektowo-relacyjny, semistrukturalny,
hierarchiczny, sieciowy).
Oprócz technik związanych z zarządzaniem danymi, technologia baz danych oferuje
narzędzia programistyczne do budowania aplikacji, modelowania i projektowania bazy
danych. Narzędzie te wspierają uznane metodyki projektowania.
14
Bazy danych - BD
System Zarządzania Bazą Danych (SZBD)
" Oprogramowanie zarządzające całą bazą danych
" Funkcjonalność
Język bazy danych - tworzenie, definiowanie,
wyszukiwanie i pielęgnacja danych w bazie danych
Struktury danych - efektywne składowanie i
przetwarzanie du\ych wolumenów danych
Optymalizacja dostępu do danych
Współbie\ny dostęp do danych
Zapewnienie bezpieczeństwa danych zagro\onego
awaryjnością środowiska sprzętowo-programowego
Autoryzacja dostępu do danych
Wielość interfejsów dostępu do bazy danych
BD wykład 1 (15)
Jak wspomniano przy okazji omawiania slajdu nr 3, jednym z komponentów systemu
bazy danych jest tzw. System Zarządzania Bazą Danych (SZBD). Z technologicznego
punktu widzenia jest to moduł programowy, którego zadaniem jest zarządzanie całą bazą
danych oraz realizowanie \ądań aplikacji u\ytkowników. Podstawowa funkcjonalność
SZBD obejmuje:
- po pierwsze, wsparcie dla języka bazy danych, który umo\liwia m.in. wstawianie,
modyfikowanie, usuwanie i wyszukiwanie danych oraz tworzenie, modyfikowanie i
usuwanie struktur danych;
- po drugie, wsparcie dla struktur danych zapewniających efektywne składowanie i
przetwarzanie du\ych wolumenów danych;
- po trzecie, optymalizację dostępu do danych;
- po czwarte, synchronizację współbie\nego dostępu do danych;
- po piąte, zapewnienie bezpieczeństwa danych w przypadku awarii sprzętowo-
programowej;
- po szóste, autoryzację dostępu do danych;
- po siódme, wielość interfejsów dostępu do bazy danych.
15
Bazy danych - BD
Model danych (1)
Obiekty świata rzeczywistego Obiekty modelu danych
BD wykład 1 (16)
Obiekty ze świata rzeczywistego są reprezentowane w bazie danych za pomocą tzw.
modelu danych.
Wyró\nia się następujące modele danych: hierarchiczny, sieciowy, relacyjny, obiektowy,
obiektowo-relacyjny, semistrukturalny.
Model hierarchiczny i sieciowy nie są ju\ stosowane w nowo-budowanych systemach.
Obecnie w bazach danych najczęściej stosuje się model relacyjny, obiektowo-relacyjny
lub semistrukturalny.
16
Bazy danych - BD
Model danych (2)
1. Struktury danych
JAN NOWAK 47
TADEUSZ KOWALSKI 34
MACIEJ NOWAK 26
JANINA RZEPA 19
KUBA TARZAN 31
JÓZEF MALINIAK 29
JAN NOWAK 56
BD wykład 1 (17)
Ka\dy model danych definiuje trzy podstawowe elementy, tj. struktury danych, operacje
na danych i ograniczenia intergralnościowe nakładane na dane.
Struktura danych słu\y do reprezentowania w bazie danych obiektów ze świata
rzeczywistego. Przykładowo, grupa pracowników firmy mo\e być reprezentowana w
modelu obiektowym jako klasa, lub w modelu relacyjnym jako relacja. Poszczególni
pracownicy są reprezentowani odpowiednio jako wystąpienia klasy (w modelu
obiektowym) lub krotki relacji (w modelu relacyjnym).
17
Bazy danych - BD
Model danych (3)
2. Operacje (operatory modelu danych)
3. Ograniczenia integralnościowe
Nazwa projektu Bud\et Data rozpoczęcia Data zakończenia
Indeksy w BD 500 000,- 1.07.2002 30.06.2005
Magazyny danych 31.08.2001
700 000,- 1.09.2002
BD wykład 1 (18)
Ka\dy model danych posiada zbiór predefiniowanych operacji na danych. Przykładowo,
w modelu relacyjnym operacje na danych oferowane przez model to: selekcja, projekcja,
połączenie i operacje na zbiorach.
Ponadto, model danych umo\liwia nało\enie ograniczeń integralnościowych na dane
reprezentowane w nim dane. Przykładowo, dla relacji ze slajdu mo\na zdefiniować
ograniczenie integralnościowe zapewniające, \e data rozpoczęcia projektu będzie zawsze
mniejsza ni\ data jego zakończenia.
18
Bazy danych - BD
Przykładowa baza danych
Pracownicy
IdPrac Nazwisko Etat Szef DataZat Płaca Premia IdZesp
7340 Kowalski referent 7548 17.12.90 1800 20
7341 Nowak asystent 7340 20.02.91 1600 300 30
7342 Tarzan asystent 7340 22.02.91 1500 500 20
7544 Colargol kierownik 7600 2.04.91 2500 100 20
7548 Król księgowy 7600 28.09.91 3500 10
7600 Dziuba dyrektor 17.10.89 5000 10
7880 Buba referent 7544 23.05.95 2100 30
7900 Misiek kierownik 7600 29.10.01 2700 30
Zespoły
Etaty
IdZesp Nazwa Adres
Nazwa PłacaMin PłacaMax
10 Administracyjny Poznań
dyrektor 4000 9999
20 Sprzeda\y Poznań
kierownik 2000 5000
30 Reklamy Gniezno
referent 1500 2500
40 Badań Oborniki
asystent 1100 1800
księgowy 2500 4500
BD wykład 1 (19)
Przykład prostej bazy danych zaimplementowanej w modelu relacyjnym przedstawiono
na slajdzie. Strukturami danych modelu są w tym przypadku trzy relacje: Pracownicy,
Zespoły, Etaty. Pierwsza z nich przechowuje dane o pracownikach, druga - o zespołach,
w których ci pracownicy są zatrudnieni, a trzecia - zawiera katalog widełek płacowych.
19
Bazy danych - BD
Architektura systemu bazy danych
" 3-warstwowa architektura wg standardu ANSI/SPARC
u\ytkownicy
schemat zewnętrzny
schemat
implementacyjny
schemat
wewnętrzny
BD wykład 1 (20)
Podstawowa architektura systemu bazy danych została zdefiniowana w standardzie
ANSI/SPARC. Wyró\nia się w niej 3 następujące tzw. schematy: wewnętrzny,
implementacyjny, zewnętrzny.
Schemat wewnętrzny opisuje fizyczny sposób składowania danych na nośnikach.
Schemat implementacyjny odwzorowuje schemat wewnętrzny w struktury modelu
danych wykorzystywanego w bazie danych. W modelu relacyjnym schemat wewnętrzny
jest odwzorowywany w schemat relacyjny. Wreszcie, schemat zewnętrzny stanowi
interfejs u\ytkownika do bazy danych. Schemat ten odwzorowuje schemat
implementacyjny w schemat poprzez, który u\ytkownik widzi bazę danych i pracuje z
nią. Nale\y podkreślić, \e schemat zewnętrzny nie zawsze jest stosowany.
20
Bazy danych - BD
U\ytkownicy SBD (1)
" Aktorzy na scenie
U\ytkownicy końcowi
Programiści aplikacji
Projektanci baz danych
Analitycy systemowi
Administratorzy systemów baz danych
BD wykład 1 (21)
Z u\ytkowaniem bazy danych na ró\nych etapach są związane ró\ne grupy
u\ytkowników. Wyró\nia się tu: u\ytkowników końcowych, programistów aplikacji,
projektantów baz danych, analityków systemowych i administratorów.
U\ytkownicy końcowy charakteryzują się tym, \e korzystają z bazy danych głównie
poprzez gotowe aplikacje/programy. Ich wiedza zwykle obejmuje sposób obsługi
aplikacji i znajomość zagadnień z zakresu obowiązków słu\bowych.
Zadaniem programistów jest implementowanie aplikacji dla u\ytkowników końcowych.
Funkcjonalność tych aplikacji wynika z wymagań u\ytkowników.
Projektanci baz danych zajmują się projektowaniem struktury logicznej bazy danych,
czyli struktur modelu danych i projektowaniem struktury fizycznej bazy danych, czyli
doborem parametrów fizycznego składowania danych na nośnikach. Ponadto, ich
zadaniem jest przygotowanie działającej bazy danych.
Analitycy systemowi zajmują się analizą wymagań systemu bazy danych i aplikacji.
Wynik ich pracy jest podstawą opracowania struktury logicznej (a często równie\
fizycznej) bazy danych i podstawą dla programistów aplikacji.
Administratorzy systemu bazy danych są odpowiedzialni m.in. za: przygotowanie
systemu do pracy produkcyjnej, zagwarantowanie ciągłości pracy systemu, zarządzanie
u\ytkownikami i instalowanie nowych wersji systemu.
21
Bazy danych - BD
U\ytkownicy SBD (2)
" Aktorzy poza sceną
Administratorzy serwerów, sieci komputerowych
Projektanci i programiści SZBD
Projektanci narzędzi deweloperskich
BD wykład 1 (22)
Ponadto, istnieją jeszcze trzy inne grupy u\ytkowników, których praca nie dotyczy
bezpośrednio samej bazy danych, ale bez których system bazy danych nie będzie działał.
Do grup tych zaliczamy: administratorów serwerów i sieci komputerowych,
projektantów i programistów SZBD, projektantów narzędzi deweloperskich baz danych i
aplikacji.
22
Bazy danych - BD
Interakcja z bazą danych (1)
" Język SQL
jedyny sposób interakcji z bazą danych
język deklaratywny
ustandaryzowany
" producenci systemów komercyjnych i
niekomercyjnych starają się implementować ten
standard
select nazwisko, etat, płaca
from pracownicy
where idzesp=30
and etat='kierownik'
BD wykład 1 (23)
Jakakolwiek interakcja programu u\ytkowego (aplikacji) z bazą danych odbywa się za
pomocą języka SQL. Jest to jedyny sposób komunikowania się aplikacji z bazą danych.
SQL jest językiem deklaratywnym. Oznacza to, \e posługując się nim specyfikujemy
tylko co chcemy otrzymać. Nie specyfikujemy sposobu (algorytmu) w jaki ma być
zrealizowane zadanie. Przykładem polecenia SQL mo\e być zapytanie do bazy danych
poszukujące informacje o klientach banku z Poznania, którzy w ciągu ostatniego
miesiąca wypłacili z bankomatu łącznie powy\ej 8000 PLN. W tym zapytaniu
specyfikujemy tylko jakie dane nas interesują. Sposób ich wyszukania jest automatycznie
dobierany przez SZBD.
SQL jest językiem ustandaryzowanym. Jego standardyzacją zajmuje się specjalny
międzynarodowy komitet, w skład którego wchodzą przedstawiciele największych
producentów SZBD (IBM, Microsoft, Oracle). Dotychczas opracowano trzy standardy
języka SQL, kolejno rozszerzające jego funkcjonalność. Standardy te to: SQL-92, SQL-
99, SQL-2003.
Producenci systemów komercyjnych i niekomercyjnych starają się implementować
przynajmniej standard SQL-92. Nale\y jednak pamiętać, \e nie ma 100% zgodności
implementacji.
Przykład prostego polecenia SQL będącego zapytaniem do bazy danych przedstawiono
na slajdzie. Zapytanie to wyszukuje pracowników (nazwisko, etat, płaca) zatrudnionych
w zespole o numerze 30 na etacie kierownika.
23
Bazy danych - BD
Interakcja z bazą danych (2)
" Aplikacje
formularze
" elektroniczne formularze z polami, listami,
elementami wyboru
" umo\liwiają wstawianie, modyfikowanie, usuwanie,
wyszukiwanie danych
raporty
" umo\liwiają prezentowanie zawartości bazy
danych
teksty
wykresy
grafika
BD wykład 1 (24)
Język SQL jest narzędziem dostępu do bazy danych stosowanym głównie przez
projektantów aplikacji, projektantów baz danych i administratorów baz danych.
Standardowym sposobem korzystania z bazy danych przez u\ytkowników końcowych są
aplikacje. Nale\y jednak pamiętać, \e na poziomie programistycznym aplikacje równie\
komunikują się z bazą danych za pomocą poleceń SQL.
Ze względu na funkcjonalność, wyró\nia się dwa rodzaje aplikacji, tj. formularze i
raporty. Aplikację pierwszego rodzaju nale\y postrzegać jako elektroniczny formularz (z
polami, listami, elementami wyboru) wypełniany przez u\ytkownika. Formularze
umo\liwiają pełną obsługę danych, tj. wstawianie, modyfikowanie, usuwanie i
wyszukiwanie.
Raporty umo\liwiają wyłącznie odczytywanie danych z bazy i prezentowanie ich w
ró\nej postaci, głównie tekstu lub wykresu.
24
Bazy danych - BD
Formularz - przykład
BD wykład 1 (25)
Przykład prostego formularza przestawiono na slajdzie.
25
Bazy danych - BD
Raport - przykład
BD wykład 1 (26)
Przykład raportu przestawiono na slajdzie.
26
Bazy danych - BD
Technologie implementacyjne aplikacji
" Języki 3GL
np. C, C++, Visual Basic, Visual C++
biblioteki umo\liwiające zagnie\d\anie poleceń SQL
w kodzie
" Języki 4GL
np. SAS 4GL, Oracle Forms
umo\liwiają bezpośrednie umieszczanie poleceń SQL
w kodzie aplikacji i bezpośrednią obsługę wyników
poleceń SQL
" Java, PHP, Perl
stosowane w aplikacjach web'owych pracujących w
architekturze 3-warstwowej
BD wykład 1 (27)
Aplikacje baz danych mo\na implementować w językach trzeciej generacji (3GL) takich
jak np. C, C++, Visual Basic, Visual C++. Komunikacja z bazą danych i wykonywanie
poleceń SQL i odbiór ich wyników z programów napisanych w tych językach wymaga
stosowania specjalizowanych bibliotek, a kod który powstaje jest kodem niskiego
poziomu. Z tego względu, w praktyce najczęściej stosuje się albo języki czwartej
generacji (4GL) albo języki programowania aplikacji web'owych.
Języki czwartej generacji takie jak np. SAS 4GL lub Oracle Forms, umo\liwiają
bezpośrednie umieszczanie poleceń SQL w kodzie aplikacji i bezpośrednią obsługę
wyników poleceń SQL.
Języki programowania aplikacji web'owych takie jak np. Java, PHP, Perl są stosowane w
aplikacjach baz danych pracujących w architekturze 3-warstwowej (omówionej dalej).
27
Bazy danych - BD
Architektura komunikacyjna - klient-serwer
aplikacje
dedykowane oprogramowanie
sieciowe
sieć komputerowa
SZBD
baza danych
BD wykład 1 (28)
Obecnie, w praktyce stosuje się dwie podstawowe architektury komunikacyjne z
systemem bazy danych, tj. architekturę klient-serwer i architekturę 3-warstwową.
W pierwszej z nich, aplikacje u\ytkowe są zainstalowane na stacjach roboczych i
komunikują się z SZBD z wykorzystaniem oprogramowania sieciowego dedykowanego
do komunikacji z SZBD. Baza danych znajduje się na dedykowanym serwerze.
28
Bazy danych - BD
Architektura komunikacyjna - 3-warstwowa
przeglądarka www
protokół http
serwer aplikacji
sieć komputerowa
SZBD
baza danych
BD wykład 1 (29)
W architekturze 3-warstwowej, pomiędzy stacjami u\ytkowników, a serwerem bazy
danych znajduje się tzw. serwer aplikacji. Jego zadaniem jest udostępnianie
umieszczonych na nim aplikacji. Jest to typowa architektura dla aplikacji web'owych.
U\ytkownik na swojej stacji roboczej posiada tylko przeglądarkę stron www. Aplikacje
są udostępniane przez serwer aplikacji w postaci czystych stron html lub w postaci
applet'ów Java. W odpowiedzi na polecenia u\ytkowników realizowane w aplikacjach,
serwer aplikacji wysyła odpowiednie \ądania do SZBD. SZBD wykonuje polecenia i ich
wyniki przesyła do serwera aplikacji, który z kolei przesyła je do aplikacji
u\ytkowników.
29
Bazy danych - BD
Podział systemów baz danych (1)
" Kryteria podziału
wykorzystywany model danych
liczba węzłów / baz danych
cel stosowania
" Model danych
relacyjny " Liczba węzłów / baz danych
obiektowy bazy scentralizowane
obiektowo-relacyjny bazy rozproszone
semistrukturalny (XML)
hierarchiczny
sieciowy
BD wykład 1 (30)
Podziału systemów BD mo\na dokonać w oparciu o kilka kryteriów. Najwa\niejszymi
są: wykorzystywany model danych, liczba węzłów, czyli liczba baz danych
wchodzących w skład systemu i cel stosowania systemu bd.
Ze względu na model danych SBD dzieli się na: relacyjne, obiektowe, obiektowo-
relacyjne, semistrukturalne, hierarchiczne, sieciowe.
Ze względu na liczbę wykorzystywanych BD, wyró\nia się systemy scenralizowane z
jedną bazą danych i systemy rozproszone z więcej ni\ jedną bazą wchodzącą w skład
systemu.
30
Bazy danych - BD
Podział systemów baz danych (2)
" Cel stosowania
przetwarzanie transakcyjne (On-Line Transaction
Processing - OLTP)
" wszelkiego rodzaju systemy ewidencyjne
przetwarzanie analityczne (On-Line Analytical
Processing - OLAP)
" hurtownie danych
wspomaganie projektowania (Computer Aided Design
- CAD)
" konstrukcje, budynki, urządzenia
BD wykład 1 (31)
Ze względu na cel stosowania wyró\nia się bazy danych przetwarzania tranaskcyjnego,
BD przetwarzania analitycznego, wspomagania projektowania, informacji geograficznej,
wytwarzania oprogramowania.
Bazy danych przetwarzania transakcyjnego (OLTP) stosuje się w typowych
zastosowaniach ewidencyjnych, np. w rezerwacji i sprzeda\y biletów, w bibliotekach i
wypo\yczalniach, w systemach ewidencji ludności, pojazdów, mienia nieruchomego, w
bankowości w obsłudze bie\ącej, w systemach handlu internetowego i bankowości
elektronicznej. Zastosowania tego typu charakteryzują się ogromną liczbą jednocześnie
działających u\ytkowników (tysiące, dziesiątki tysięcy). Interakcja pojedynczego
u\ytkownika z bazą danych jest krótka - kilka kilkanaście sekund.
Bazy danych przetwarzania analitycznego (OLAP) stosuje się w systemach
wspomagania zarządzania. Zastosowania tego typu charakteryzują się niewielką liczbą
u\ytkowników (kilku, kilkunastu) ale czas interakcji u\ytkownika z bazą danych jest
długi (godziny, dziesiątki godzin).
Bazy danych dla wspomagania projektowania umo\liwiają przechowywanie projektów
zło\onych obiektów, np. konstrukcji mostów, budynków, schematy urządzeń.
31
Bazy danych - BD
Podział systemów baz danych (3)
" Cel stosowania cd.
systemy informacji geograficznej (Geographical
Information Systems - GIS)
wytwarzanie oprogramowania (Computer Aided
Software Engineering - CASE)
BD wykład 1 (32)
W bazach danych informacji geograficznej przechowuje się zarówno dane tekstowe (np.
dane triangulacyjne, opisy terenu) jak i dane przestrzenne (mapy). Tego typu systemy
wymagają zaawansowanych technik przeszukiwania map i operacji na nich.
Bazy danych słu\ące do wspomagania wytwarzania oprogramowania przechowują
wyniki poszczególnych faz realizacji projektów. Wyniki te są najczęściej
reprezentowane w postaci specjalizowanych modeli (diagramów), obiektów i ich
własności, projektów i kodów oprogramowania. Tego typu systemy, oprócz
standardowej funkcjonalności, wspierają wyszukiwanie zale\ności pomiędzy obiektami
oraz wywodzenie wersji obiektów (np. oprogramowania) i zarządzanie tymi wersjami.
32
Bazy danych - BD
Dostępne SZBD (1)
" Komercyjne
Oracle
" wersja 9i, 10g
IBM
" DB2 UDB
" Informix(R) Dynamic Server
Microsoft
" SQL Server2000, SQL Server2005
Sybase
" Adaptive Server Enterprise, Adaptive Server
Anywhere
BD wykład 1 (33)
Na rynku istnieje wiele komercyjnych systemów BD. Do najpopularniejszych
producentów zalicza się Oracle, IBM, Microsoft i Sybase. Oracle oferuje SZBD o nazwie
Oracle9i, Oracle10g. IBM oferuje systemy DB2 i Informix(R) Dynamic Server.
Microsoft oferuje popularny SQL Server w wersjach 2000 i 2005. Sybase jest
producentem systemu Adaptive Server Enterprise i Adaptive Server Anywhere.
33
Bazy danych - BD
Dostępne SZBD (2)
" Niekomercyjne
MySQL
PostgreSQL
FireBird
BD wykład 1 (34)
Ponadto, dostępne są rozwiązania niekomercyjne, spośród których najpopularniejszymi
są MySQL, PostgreSQL i FireBird.
34
Wyszukiwarka
Podobne podstrony:
BD 2st 1 2 w12 tresc 1 1BD 2st 1 2 w06 tresc 1 1 kolorBD 2st 1 2 w08 tresc 1 1BD 2st 1 2 w05 tresc 1 1 kolorBD 2st 1 2 w03 tresc 1 1 kolorZSBD 2st 1 2 w01 tresc 1 1 kolorBD 2st 1 2 w10 tresc 1 1BD 2st 1 2 w08 tresc 1 1 kolorwięcej podobnych podstron