1
BAZY DANYCH
Architektura ANSI-SPARC
Schematy baz danych
Modele danych
Architektury i funkcje SZBD
ŚRODOWISKO BAZY DANYCH
BAZY DANYCH
2
BAZY DANYCH
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ądź 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.
Charakterystyka baz danych
3
BAZY DANYCH
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.
Charakterystyka baz danych
4
BAZY DANYCH
SYSTEMY BAZ DANYCH - WYMAGANIA
Główne wymagania dotyczące systemu bazy danych:
zapewnienie dostępu do danych, tak aby nie ujawniać użytkownikom
szczegółów
sposobu pamiętania i przetwarzania informacji;
konieczność innego sposobu prezentacji przechowywanych w bazie informacji
dla
różnych grup użytkowników.
Rozwiązanie powyższej problematyki:
Architektura większości komercyjnych SZBD jest opierana na architekturze
ANSI-SPARC.
Architektura ANSI-SPARC
- trzy poziomy abstrakcji (opisu danych przechowywanych
w bazie):
warstwa zewnętrzna;
warstwa konceptualnej;
warstwa wewnętrznej.
5
BAZY DANYCH
SYSTEMY BAZ DANYCH - WYMAGANIA
Główne wymagania dotyczące systemu bazy danych
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
SYSTEMY BAZ DANYCH - WYMAGANIA
Spójność bazy danych jest definiowana jako poprawność danych z punktu
widzenia pewnych przyjętych kryteriów. Definiując spójność wymienia się
następujące 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.
-odporność na błędy, awarie
- odporność na błędy użytkowników
Kryterium pierwsze należy interpretować następująco: dane przechowywane w
bazie danych są takie jak w świecie rzeczywistym, który ta baza reprezentuje.
(np. baza dziekanat)
Kryterium drugie oznacza, że wszystkie dane w bazie, na które nałożono pewne
ograniczenia integralnościowe muszą te ograniczenia spełniać. (np..oceny)
7
BAZY DANYCH
SYSTEMY BAZ DANYCH - WYMAGANIA
Główne wymagania dotyczące systemu bazy danych
Drugim wymaganiem stawianym bazie danych jest zapewnienie efektywnego
przetwarzania danych, tj. wstawiania nowych danych, modyfikowania
istniejących, usuwania i wyszukiwania danych. W tym celu konieczne 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.
8
BAZY DANYCH
SYSTEMY BAZ DANYCH - WYMAGANIA
Główne wymagania dotyczące systemu bazy danych
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.
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.
9
BAZY DANYCH
SYSTEMY BAZ DANYCH - WYMAGANIA
Główne wymagania dotyczące systemu bazy danych
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.
10
BAZY DANYCH
BAZA DANYCH A SPOSOBY WIDZENIA DANYCH
Przyczyny oddzielenia fizycznej reprezentacji BD od różnych sposobów
widzenia danych:
każdy z użytkowników powinien mieć dostęp do tych samych danych, ale
sposób ich
widzenia powinien być dostosowany do indywidualnych
wymagań;
użytkownicy nie powinni mieć bezpośrednio do czynienia ze szczegółami
fizycznego
sposobu pamiętania bazy danych (indeksowanie, haszowanie);
administrator bazy danych (DBA) powinien mieć możliwość zmiany struktur
służących
do przechowywania danych i te zmiany powinny być
niezauważalne dla użytkowników;
wewnętrzna struktura bazy danych powinna być odporna na zmiany
fizycznych
parametrów używanego nośnika pamięci;
administrator powinien mieć możliwość zmiany konceptualnej struktury bazy
danych
w sposób niezauważalny dla innych użytkowników.
11
BAZY DANYCH
ARCHITEKTURA ANSI-SPARC
Warstwa zewnętrzna - sposób, w jaki użytkownicy widzą dane zawarte w bazie.
Warstwa wewnętrzna - sposób widzenia danych przez SZBD i system operacyjny
(widoczne są tutaj struktury danych i organizacja plików służących do ich pamiętania).
Warstwa konceptualna - dostarcza odpowiednich odwzorowań i jednocześnie zapewnia pożądaną
wzajemną niezależność warstw zewnętrznej i wewnętrznej.
Trójwarstwowa architektura ANSI-SPARC
12
BAZY DANYCH
ARCHITEKTURA ANSI-SPARC -
WARSTWA ZEWNĘTRZNA
Warstwa zewnętrzna
opisuje, jak użytkownicy widzą bazę danych i w jaki sposób
uzyskują dostęp.
Składa się ona z wielu zewnętrznych sposobów widzenia bazy danych (perspektyw).
Zewnętrzne perspektywy zawierają wybrane dla danego użytkownika encje,
atrybuty
i relacje ze „świata rzeczywistego”.
Inne encje, atrybuty i relacje są niewidoczne dla użytkownika (np. innego
użytkownika).
Różne perspektywy mogą zawierać odmienne reprezentacje tych samych
danych, np.
data
w postaci:
„dzień, miesiąc, rok” lub też „rok, miesiąc, dzień”.
Niektóre perspektywy mogą zawierać dane pochodne lub wyliczane (nie są
bezpośrednio
zapamiętane w bazie danych, lecz tworzone w zależności od
potrzeb, np. wiek pracowników).
13
BAZY DANYCH
ARCHITEKTURA ANSI-SPARC -
WARSTWA KONCEPTUALNA
Warstwa konceptualna
- zajmuje środkową cześć w trójwarstwowej architekturze
systemu.
Zawiera ona logiczną strukturę całej bazy danych (opis danych w bazie - pełny,
niezależny od sposobu pamiętania).
wszystkie encje, ich atrybuty i występujące pomiędzy nimi związki;
reguły spójności danych (tzw. więzy);
informacje semantyczne o danych;
informacje dotyczące bezpieczeństwa i integralności danych.
Warstwa konceptualna przedstawia:
Warstwa konceptualna stanowi podstawę każdej zewnętrznej perspektywy,
nie może jednak określać żadnych szczegółów dotyczących sposobu przechowywania
danych.
Na przykład:
Opis encji powinien zawierać: typy danych, jej atrybutów, ich długości,
ale nie powinien podawać żadnych informacji dotyczących fizycznego sposobu ich
pamiętania.
14
BAZY DANYCH
ARCHITEKTURA ANSI-SPARC -
WARSTWA WEWNĘTRZNA
Warstwa wewnętrzna
- fizyczna reprezentacja bazy danych w komputerze (opisuje
sposób przechowywania danych w bazie).
Realizuje taką fizyczną implementację bazy danych, która pozwala osiągnąć
optymalny czas wykonania poszczególnych funkcji, jak również minimalizuje
wykorzystanie zasobów pamięci.
Obejmuje ona struktury danych i organizacje plików.
przydział przestrzeni w pamięci dla danych i indeksów;
opis struktury pamięciowej rekordów;
techniki kompresji i szyfrowania danych.
Warstwa wewnętrzna jest odpowiedzialna za:
Poniżej warstwy wewnętrznej znajduje się jeszcze warstwa fizyczna (realizowana
przez system operacyjny pod kierunkiem SZBD).
Zadania wykonywane w warstwie fizycznej przez SZBD i system operacyjny nie są
jednak jednoznacznie rozdzielone.
15
BAZY DANYCH
SCHEMATY BAZY DANYCH
Schematem bazy danych
nazywamy opis bazy danych.
Typy schematów odpowiadające poziomom abstrakcji trójwarstwowej
architektury:
zewnętrzny (podschematy) - różne sposoby widzenia danych;
konceptualny (encje, atrybuty, relacje, więzy integralności);
wewnętrzny (pełny opis wewnętrznego modelu bazy).
Schemat wewnętrzny składa się z:
■ definicji pamiętanych rekordów,
■ przyjętych metod reprezentacji,
■ opisu pól rekordów,
■ używanych indeksów,
■ schematów haszowania.
Każda baza danych ma tylko jeden schemat konceptualny i jeden schemat
wewnętrzny.
16
BAZY DANYCH
ODWZOROWANIA
Rola systemu zarządzania bazą danych (SZBD):
odpowiedzialny za odwzorowania pomiędzy trzema typami schematów;
kontroluje spójność występujących schematów (czy każdy schemat
zewnętrzny da się
wyprowadzić ze schematu konceptualnego);
wykorzystuje informacje zawarte w schemacie konceptualnym do stworzenia
odwzorowań pomiędzy schematem zewnętrznych a wewnętrznym.
Odwzorowanie konceptualno-wewnętrzne
- powiązanie schematu
konceptualnego
z wewnętrznym.
Rekord logiczny (schemat konceptualny) – odnalezienie rekordu (rekordów) w fizycznej pamięci oraz
więzów integralności podczas wykonywania operacji na rekordzie logicznym. Odwzorowanie takie
pozwala także na rozstrzygnięcie niezgodności (nazwy encji, nazwy, kolejność atrybutów, typy
danych, itd.).
Odwzorowanie zewnętrzno-konceptualne
- powiązanie schematu
zewnętrznego
z konceptualnym.
Za pomocą takiego odwzorowania SZBD może przekształcić identyfikatory występujące w
perspektywie użytkownika na odpowiednie elementy schematu konceptualnego.
17
BAZY DANYCH
NIEZALEŻNOŚĆ DANYCH
Można wyróżnić dwa rodzaje niezależności danych:
logiczną i fizyczną
.
Logiczna niezależność danych
- odporność schematów zewnętrznych na zmiany
dokonywane
w schemacie konceptualnym.
Fizyczna niezależność danych
- odporność schematu konceptualnego na zmiany
dokonywane
w schemacie wewnętrznym.
Niezależność danych w trójwarstwowej architekturze ANSI-SPARC
18
BAZY DANYCH
JĘZYKI BAZ DANYCH (1)
Podjęzyk danych (nie zawiera ogólnych konstrukcji obliczeniowych) składa się z
dwóch części:
języka definicji danych (JDD, lub DDL od ang. Data Definition Language);
języka manipulowania danymi (JMD, lub DML od ang. Data Manipulation
Language).
Język definicji danych (JDD)
- to język do opisywania oraz nazywania encji,
atrybutów, relacji, więzów integralności i bezpieczeństwa.
Schemat bazy danych jest określany poprzez zbiór definicji wyrażonych w JDD.
JDD jest używany do definiowania nowego schematu lub do modyfikacji już istniejącego.
Wykonanie ciągu instrukcji JDD powoduje powstanie zbioru opisów tabel zapisanych w
plikach nazywanych katalogiem systemowym (słownik danych, katalog danych).
Katalog systemowy zawiera metadane (dane o danych), które umożliwiają łatwiejszy
do nich dostęp i manipulację.
W trakcie realizacji typowych zadań SZBD odwołuje się do katalogu systemowego,
zanim zacznie wyszukiwać właściwe dane w bazie.
19
BAZY DANYCH
JĘZYKI BAZ DANYCH (2)
Język manipulowania danymi (JMD)
- to język, który dostarcza zestawu operacji
przeznaczonych do manipulowania danymi przechowywanymi w bazie danych.
dopisywanie nowych danych do bazy;
modyfikowanie danych przechowywanych w bazie;
wyszukiwanie danych zawartych w bazie;
usuwanie danych z bazy.
Manipulacja danymi odnosi się do każdej z warstw: zewnętrznej, konceptualnej i
wewnętrznej.
Operacje manipulowania:
Język zapytań
- część JMD, która służy do wyszukiwania danych w bazie.
JMD są klasyfikowane ze względu na zawarte w nich konstrukcje wyszukiwania danych
(proceduralne i nieproceduralne).
Proceduralny JMD to język, który umożliwia użytkownikom przekazanie systemowi
dokładnych informacji, jakie dane są potrzebne i jak je uzyskać.
Nieproceduralny JMD to język, który umożliwia użytkownikom określenie, jakie dane
są potrzebne, ale nie wymaga opisywania sposobu ich uzyskania.
Relacyjne SZBD - pewna postać języka nieproceduralnego, najczęściej SQL (
od ang.
Structured Query Language
) lub QBE (
od ang. Query-By-Example
).
20
BAZY DANYCH
MODELE DANYCH
Model danych
- to spójny zestaw pojęć służący do opisywania danych i związków
między nimi oraz do manipulowania danymi i ich związkami, a także do wyrażania
więzów nałożonych na dane w konkretnej instytucji.
Składniki modelu danych:
część strukturalna - zbiór zasad, według których powinny być konstruowane
bazy danych;
część wykonawcza - opis typów dopuszczalnych operacji na danych;
zbiór zasad integralności (opcjonalna część) - gwarancja spójności danych.
Modele danych (ANSI-SPARC):
zewnętrzny model danych (dziedzina przedmiotu rozważań) - różne
perspektywy
widzenia instytucji przez użytkowników;
konceptualny model danych – logiczna perspektywa widzenia, niezależna od
SZBD;
wewnętrzny model danych - schemat konceptualny, który jest zrozumiały dla
SZBD.
Kategorie modeli danych:
bazujące na obiektach;
rekordowe;
fizyczne.
21
BAZY DANYCH
MODELE BAZUJĄCE NA OBIEKTACH
Modele danych bazujące na obiektach używają takich pojęć, jak: encje, atrybuty czy
związki.
Encja - reprezentuje w bazie danych wydzielony obiekt (osobę, miejsce, rzecz, pojęcie,
zdarzenie), który występuje w danej instytucji i którego dane mają być przechowywane.
Atrybut opisuje taką własność obiektu, którą chcemy rejestrować.
Związek przedstawia pewną relacje pomiędzy encjami.
Modele danych bazujące na obiektach:
model związków encji (ER,
ang. Entity-Retationship
);
model semantyczny;
model funkcjonalny;
model obiektowy.
Model związków encji stał się jedną z podstawowych technik projektowania baz
danych.
Obiektowy model danych rozszerza definicje encji w ten sposób, że oprócz
atrybutów opisujących stan obiektu pojawiają się opisy operacji powiązanych z tym
obiektem, czyli dołączany jest opis zachowania obiektu.
22
BAZY DANYCH
MODELE REKORDOWE
Rekordowy model danych
- baza składająca się z pewnej liczby rekordów o
ustalonych formatach, które mogą być różnych typów.
Każdy z typów rekordów definiuje ustaloną liczbę pól o stałych zazwyczaj długościach.
Główne typy logicznych rekordowych modeli danych:
relacyjny model danych,
sieciowy model danych,
hierarchiczny model danych.
23
BAZY DANYCH
MODELE REKORDOWE – RELACYJNY MODEL DANYCH
Relacyjny model danych
bazuje na matematycznym pojęciu relacji. W tym modelu
dane i relacje są reprezentowane w postaci tabel, z których każda zawiera pewną
liczbę kolumn o unikalnych identyfikatorach.
Relacyjny model danych - użytkownicy postrzegają bazę danych jako zbiór tabel
(logiczna struktura bazy danych, tj. konceptualna i zewnętrzna warstwa architektury
ANSI-SPARC).
Nie ma zastosowania do fizycznej struktury bazy danych.
Przykładowy stan danych dla schematu relacyjnego
24
BAZY DANYCH
MODELE REKORDOWE – SIECIOWY MODEL DANYCH
W sieciowym modelu danych
dane są reprezentowane jako kolekcje rekordów, a
związki pomiędzy nimi są przedstawiane w postaci zbiorów.
Rekordy są zorganizowane w postaci uogólnionych
struktur grafowych
, w których
rekordy występują jako
węzły
, a zbiory jako
krawędzie grafu
.
Najbardziej znanym sieciowym SZBD jest IDMS/R firmy Computer Associates.
Przykładowy stan danych dla schematu sieciowego
25
BAZY DANYCH
MODELE REKORDOWE – HIERARCHICZNY MODEL DANYCH
Model hierarchiczny
jest ograniczoną wersją modelu sieciowego. Podobnie jak w
modelu sieciowym, dane są reprezentowane jako kolekcje
rekordów
, a związki - jako
zbiory
.
W tym modelu węzeł może jednak posiadać tylko jednego ojca. Oznacza to, że
reprezentujący go graf jest drzewem, w którym rekordy są węzłami (nazywanymi
czasami
odcinkami
), a zbiory -
krawędziami
.
Przykładowy
stan
danych
dla
schematu
hierarchicznego
26
BAZY DANYCH
FIZYCZNE MODELE DANYCH
Fizyczne modele danych
przedstawiają sposób przechowywania danych w
komputerze.
Dostarczają one takich informacji, jak:
struktura rekordów,
uporządkowanie rekordów,
ścieżki dostępu.
W rzeczywistości fizyczne modele danych występują rzadziej niż modele logiczne;
najbardziej znane to
model unifikujący
i
pamięć klatek
.
27
BAZY DANYCH
FUNKCJE SZBD (1)
Typowy SZBD powinien zawierać następujące funkcje i usługi:
1. Zapis, odczyt i aktualizacja danych
SZBD musi umożliwiać użytkownikom zapis, odczyt i aktualizację danych w bazie, bez
ujawniania użytkownikom szczegółów wewnętrznej i fizycznej implementacji.
2. Katalog dostępny dla użytkowników
3. Obsługa transakcji
Kluczową właściwością architektury ANSI-SPARC jest wprowadzenie zintegrowanego
katalogu systemowego, którego zadaniem jest przechowywanie danych o
schematach, użytkownikach, aplikacjach itd.
SZBD musi zawierać pewien „mechanizm”, który będzie troszczył się o to, aby albo
wykonane zostały wszystkie aktualizacje związane z daną transakcją, albo żadna z nich
nie została wprowadzona.
Na przykład, transakcją może być usuniecie pracownika z bazy, zmiana osoby
odpowiedzialnej za sprzedaż jakiegoś towaru, czy też sama sprzedaż towaru.
28
BAZY DANYCH
FUNKCJE SZBD (2)
4. Sterowanie współbieżnością
SZBD musi zawierać pewien „mechanizm”, który zagwarantuje, że aktualizacje bazy
danych będą wykonywane poprawnie w sytuacji, gdy wielu użytkowników będzie
jednocześnie aktualizować dane w bazie.
5. Obsługa odtwarzania bazy
Przykład jednoczesnego wykonywania 2 transakcji T1 i T2:
SZBD powinien zawierać pewien „mechanizm” służący do odtwarzania bazy danych w
sytuacji, gdy ulegnie ona jakiemukolwiek uszkodzeniu.
SZBD musi zapewnić, że nie wystąpią żadne zakłócenia w trakcie jednoczesnego
korzystania z bazy danych przez wielu użytkowników.
29
BAZY DANYCH
FUNKCJE SZBD (3)
6. Obsługa autoryzacji
SZBD powinien zawierać pewien „mechanizm” zapewniający, że dostęp do bazy danych
uzyskają tylko uprawnieni użytkownicy.
Termin bezpieczeństwo odnosi się do zabezpieczania bazy danych przed
nieuprawnionym, dostępem, zarówno tym zamierzonym, jak i przypadkowym.
SZBD powinien zawierać mechanizmy zapewniające bezpieczeństwo danych.
7. Obsługa transmisji danych
SZBD musi być w stanie współpracować z oprogramowaniem transmisji danych.
Stacje robocze mogą być podłączone bezpośrednio do komputera obsługującego SZBD
lub znajdować się w miejscach oddalonych od komputera centralnego i komunikować
się z nim poprzez sieć.
W obu przypadkach SZBD otrzymuje żądania w postaci przesyłanych komunikatów i
odpowiada w podobny sposób. Wszystkie komunikaty są obsługiwane przez program
zarządzający komunikacją (DCM
od ang. Data Communication Manager
).
Chociaż DCM nie jest częścią SZBD, to konieczne jest, aby SZBD był w stanie
współpracować z różnymi DCM.
30
BAZY DANYCH
FUNKCJE SZBD (4)
8. Obsługa integralności danych
Integralność bazy danych odnosi się do poprawności i nie sprzeczności
przechowywanych w niej danych - może być zatem traktowana jako inny rodzaj ochrony
bazy danych.
O ile integralność jest powiązana z bezpieczeństwem, to jej konsekwencje są dużo
większe: integralność odnosi się do jakości samych danych.
Integralność jest zazwyczaj wyrażana w postaci więzów, które dla bazy danych są
nienaruszalnymi warunkami spójności danych.
9. Usługi wspierające niezależność danych
SZBD powinien zawierać elementy wspierające niezależność programów od
rzeczywistej struktury bazy danych. Niezależność danych jest zwykle osiągana przez
zastosowanie mechanizmu perspektyw lub podschematów.
Fizyczna niezależność danych jest łatwiejsza do uzyskania, gdyż dostępnych jest na
ogół kilka różnych typów zmian fizycznej charakterystyki bazy danych, które nie
wpływają na sposoby widzenia danych.
Logiczna niezależność danych jest dużo trudniejsza do osiągnięcia. O ile dodanie
nowej encji, atrybutu, związku może być zazwyczaj bez problemu zaakceptowane, o
tyle ich usuniecie - już nie.
31
BAZY DANYCH
FUNKCJE SZBD (5)
10.Programy narzędziowe
SZBD powinien zawierać zestaw programów narzędziowych.
Przykłady programów narzędziowych warstwy wewnętrznej są następujące:
programy importujące, służące do wprowadzania danych do bazy z plików
jednorodnych,
programy eksportujące, służące do zapisu zawartości bazy do plików
jednorodnych;
programy nadzorujące, służące do kontrolowania działania i obciążenia bazy
danych;
programy analizy statystycznej przeznaczone do tworzenia statystyk
wydajności i
obciążenia;
programy służące do reorganizacji indeksów i obsługi ich nadmiarów;
programy odśmiecające i przemieszczające, przeznaczone do: fizycznego
zwalniania
pamięci po usuniętych rekordach, scalania zwolnionej pamięci i
przydzielania jej tam, gdzie
jest aktualnie potrzebna.
32
BAZY DANYCH
SKŁADNIKI SZBD
Główne składniki SZBD
33
BAZY DANYCH
ARCHITEKTURY SZBD - PRZETWARZANIE ZDALNE
Przez wiele lat najpopularniejszą architekturą używaną do realizacji systemów
wielodostępnych było
przetwarzanie zdalne
.
W takich systemach głównym elementem był komputer z jedną jednostką centralną
(CPU), do którego podłączano terminale.
Topologia przetwarzania zdalnego
34
BAZY DANYCH
ARCHITEKTURY SZBD - SERWER PLIKÓW
W środowisku z
serwerem plików
przetwarzanie jest rozproszone w sieci
komputerowej.
Zadaniem serwera plików jest przechowanie plików używanych przez aplikacje i SZBD.
Same aplikacje i SZBD są wykonywane na każdej ze stacji roboczych i w razie potrzeby
odwołują się do plików na serwerze.
Architektura serwera plików
Ponieważ serwer plików nie ma żadnych
narzędzi do interpretacji SQL, SZBD musi
pobrać z serwera pliki zawierające wszystkie
relacje,
a
nie
tylko
dane
spełniające
sformułowane zapytanie.
Wady architektury serwera plików:
występuje w niej duże natężenie ruchu w
sieci;
dla każdej stacji roboczej potrzebna jest
pełna kopia SZBD;
współbieżność, odzyskiwanie danych po
awarii oraz kontrola integralności danych są
dużo trudniejsze do uzyskania.
35
BAZY DANYCH
ARCHITEKTURY SZBD – KLIENT-SERWER (1)
Nazwa
klient-serwer
odnosi się do sposobu interakcji komponentów oprogramowania
w ramach tej architektury.
Architektura serwera plików
Możliwe są różne topologie klient-serwer:
a) jeden klient - jeden serwer;
b) wiele klientów - jeden serwer;
c) wiele klientów - wiele serwerów.
KLIENT:
Przyjmuje żądania użytkowników, sprawdza ich
poprawność składniową i tworzy żądanie do
bazy danych w SQL lub w innym języku bazy
danych właściwym dla struktury sterowania
aplikacji. Następnie przesyła je jako komunikat
do serwera, czeka na odpowiedź i formatuje tę
odpowiedź
zgodnie
z
wymaganiami
użytkownika.
SERWER:
Przyjmuje i przetwarza żądania do bazy danych,
a następnie przesyła wyniki z powrotem do
klienta. Przetwarzanie żądania polega na
sprawdzaniu
uprawnień,
zapewnieniu
integralności,
konserwowaniu
katalogu
systemowego oraz na realizacji zapytań
i aktualizacji.
36
BAZY DANYCH
ARCHITEKTURY SZBD – KLIENT-SERWER (2)
Zalety architektury klient-serwer:
Umożliwia szerszy dostęp do istniejących baz danych;
Zwiększa wydajność systemu - jeśli klienci i serwery rozmieszczone są na różnych
komputerach, to różne jednostki centralne mogą równolegle wykonywać aplikacje;
Łatwiejsza powinna być też właściwa konfiguracja komputera, na którym działa
serwer, ponieważ jedynym jego zadaniem jest przetwarzanie bazy danych;
Pozwala na redukcje kosztów sprzętu, gdyż tylko serwer wymaga dostatecznie dużej
pamięci
i mocy procesora do przechowywania danych i zarządzania bazą danych;
Redukuje koszty komunikacji - aplikacje wykonują cześć operacji w komputerach
klientów,
a przez sieć przesyłają tylko żądania dostępu do bazy danych;
Rozszerza zakres niesprzeczności danych - serwer może obsługiwać sprawdzanie
integralności w taki sposób, by więzy były definiowane i weryfikowane tylko w
jednym miejscu;
Odwzorowuje się w naturalny sposób w architekturę systemów otwartych.
37
BAZY DANYCH
LITERATURA
Thomas Connolly, Carolyn Begg
Systemy baz danych, tom 1, wyd. RM, 2004
Rozdział 2 - Środowisko bazy danych,
Rozdział 3 - Model relacyjny.
38
BAZY DANYCH
KONIEC