background image

1

BAZY DANYCH

  Architektura ANSI-SPARC
  Schematy baz danych
  Modele danych
  Architektury i funkcje SZBD

ŚRODOWISKO BAZY DANYCH

BAZY DANYCH

background image

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

background image

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

background image

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

background image

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

background image

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)

background image

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.

background image

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. 

background image

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. 

background image

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.

 

background image

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

background image

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 

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).

background image

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 danychjej atrybutów, ich długości
ale nie powinien podawać żadnych informacji dotyczących fizycznego sposobu ich 
pamiętania
.

background image

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.

background image

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.

background image

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.

background image

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

background image

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. 

background image

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

).

background image

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.

background image

21

BAZY DANYCH

MODELE BAZUJĄCE NA OBIEKTACH

Modele danych bazujące na obiektach używają takich pojęć, jak: encjeatrybuty 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.

background image

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.

background image

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

background image

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

background image

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 

background image

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

 

pamięć klatek

.

background image

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.

background image

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.

background image

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. 

background image

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ówktó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.

background image

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.

background image

32

BAZY DANYCH

SKŁADNIKI SZBD

Główne składniki SZBD

background image

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

background image

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, 

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.

background image

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 

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.  

background image

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. 

background image

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.

background image

38

BAZY DANYCH

KONIEC


Document Outline