background image

Architektura systemów baz 
danych

background image

Terminologia



Baza danych  jest to zbiór danych 
trwałych, które są wykorzystywane 
przez system aplikacji danej 
organizacji. 



Baza danych, rozumiana jako zbiór 
danych, wraz z aplikacją bazy danych 
stanowią system bazy danych. 

background image

Aplikacja bazy danych



Aplikacja bazy danych jest to 
program lub zespół programów, które 
pomagają użytkownikowi pracować z 
bazą danych. 



Celem aplikacji jest:



odizolowanie samej bazy od użytkownika



zabezpiecza zbiór danych przed 
przypadkowym bądź celowym 
uszkodzeniem 

background image

Systemy baz danych



Można wyróżnić pięć zasadniczych 
komponentów tworzących systemy z 
bazą danych



sprzęt 



oprogramowanie 



dane 



procedury



ludzie 

background image

Systemy baz danych



Sprzęt:



Zakres wymagań sprzętowych zależy od potrzeb 
użytkownika, konkretnych rozwiązań czy 
wreszcie wymagań samego DBMS



Oprogramowanie:



Składowymi oprogramowania są zarówno same 
Systemy Zarządzania Bazą Danych jak i 
aplikacje i programy użytkowe, systemy 
operacyjne oraz oprogramowanie sieciowe 

background image

Systemy baz danych



Dane:



Pod pojęciem danych rozumieć należy 
zarówno dane operacyjne, jak i meta-
dane, czyli „dane o danych”. Strukturę
danych określa schemat bazy danych



Procedury:



Procedury precyzują zasady 
projektowania i użytkowania bazy 
danych 

background image

Systemy baz danych



Ludzie:



administratorzy baz danych



projektanci baz danych



projektanci i programiści aplikacji 
bazodanowych



użytkownicy końcowi.

background image

Architektura systemów baz danych



Opis elementów stanowiących system 
baz danych, sposób w jaki są one ze 
sobą powiązane oraz logika tej 
organizacji składają się na 
architekturę systemu baz danych. 



Architektura systemów baz danych 
rozwijała się od tzw. architektury 
jednowarstwowej, w kierunku 
architektury wielowarstwowej. 

background image

Systemy baz danych - rozwój



Cztery ważne, z punktu widzenia 
ewolucji systemów baz danych 
zdarzenia:



pojawienie się sieci komputerowych 



Internet 



System WWW 



Intranet 

background image

Architektura klient-serwer



Termin architektura typu klient-
serwer wywodzi się od sposobu 
interakcji komponentów 
softwarowych z systemem: 



klient jest procesem który potrzebuje 
pewnych zasobów



proces serwera tych zasobów dostarcza

background image

Architektura klient-serwer



Na aplikację bazy danych można 
spojrzeć jako na zestaw kilku warstw, 
wykonujących ściśle określone 
zadania 



Warstwa jest pojęciem logicznym, 
umożliwiającym zaprojektowanie 
programu prostszego w budowie i 
obsłudze 

background image

Architektura dwuwarstwowa



Dwie warstwy oprogramowania: 



warstwa serwera –proces serwera



warstwa klienta  - proces klienta



Lokalizacja obu procesów:



mogą one znajdować się na jednym 
komputerze (baza lokalna)



zazwyczaj serwer umieszczany jest na 
innym komputerze niż procesy klienta, 
komunikując się poprzez LAN 

background image

Architektura dwuwarstwowa



Podział zadań w architekturze klient-

serwer:



na serwerze znajdują się dane oraz 

oprogramowanie zapewniające dostęp do 

danych, tzw. SZBD 



po stronie serwera następuje również realizacja 

zapytań, realizacja ograniczeń oraz 

przetwarzanie danych 



klient natomiast jest odpowiedzialny za 

prezentację danych – po stronie klienta jest 

umieszczony interfejs użytkownika. 



klient realizuje logikę aplikacji oraz również jest 

odpowiedzialny za przetwarzanie danych 

background image

Architektura dwuwarstwowa



Zalety:



bezpieczeństwo serwera



minimalizacja ruchu w sieci 



możliwość przetwarzania danych 
bezpośrednio na serwerze



odciążenie centralnego komputera od 
obsługi interfejsu użytkownika 



budowa sporych systemów bez użycia 
wielkich komputerów 

background image

Architektura dwuwarstwowa



Wady:



utrudnienia związane z 
administrowaniem:



konieczność administrowania wieloma 
komputerami



utrudnione administrowanie aplikacjami 



duże koszty eksploatacji PC-tów



niski poziomem bezpieczeństwa 



brak kontroli nad działaniami 
użytkowników  

background image

Architektura trójwarstwowa



Dzieli aplikację bazy danych na trzy, 
współpracujące ze sobą części:



Warstwę dolną, realizującą dostęp do 
bazy danych,



Warstwę środkową, zawierającą reguły 
dziedziczenia danych,



Warstwę górną, stanowiącą interfejs 
użytkownika 

background image

Warstwa pierwsza

Stacja kliencka

* Interfejs użytkownika

Warstwa druga

Serwer aplikacji

* Logika biznesowa, czyli funkcje
systemu
* Przetwarzanie danych

Warstwa trzecia

Serwer bazy danych

Baza

danych

* Zarządzanie danymi
* Baza danych

background image

Architektura trójwarstwowa



Warstwa górna i dolna powinny mieć
charakter bezkontekstowy.



Warstwa środkowa powinna zawierać
reguły, według których przetwarzane 
są dane.

background image

Architektura trójwarstwowa



Warstwa dolna to prawie zawsze programy 
wykonywane na serwerze, obsługujące 
zlecenia warstwy środkowej



Warstwy górna i środkowa mogą być
scalone w jeden program bądź rozdzielone 



Warstwa środkowa może być klientem lub 
serwerem 



Warstwa górna jest zawsze klientem 

background image

Architektura trójwarstwowa



Gdy w warstwie klienta lokowany jest 
jedynie interfejs użytkownika, który 
realizuje prezentację danych i 
przekazywanie danych do warstwy 
aplikacji mówi się o tzw. „chudym 
(cienkim) kliencie” ze względu na 
małą ilość funkcji, jaką w tej 
technologii realizuje strona klienta. 

background image

Warstwa górna

(interfejs użytkownika)

Warstwa środkowa

(oprogramowanie bazy danych)

Dostęp do bazy danych

Baza danych

Użytkownik

Warstwa dolna

(serwer baz danych)

Klient

Serwer

Baza danych

sieć

sieć

background image

Architektura trójwarstwowa



Cienki klient:



interfejs użytkownika jest stroną WWW, którą
obsługuje przeglądarka internetowa 



Warstwa druga realizuje funkcje systemu oraz 
przetwarzanie danych



kontaktuje się z warstwą klienta i serwerem lub 

serwerami bazy danych poprzez sieć lokalną
LAN  lub WAN



Warstwa trzecia jest odpowiedzialna za fizyczne 
przetwarzanie i magazynowanie informacji i 
najczęściej stanowią ją serwery baz danych 

background image

Architektura trójwarstwowa



Bardziej złożone interfejsy mogą
realizować zarówno interfejs 
użytkownika jak i część logiki 
aplikacji. 



Oznacza to, że klient zawiera więcej 
niż jedną warstwę, czyli jest klientem 
wielowarstwowym. Mamy wtedy do 
czynienia z tzw. „grubym klientem”

background image

Architektura trójwarstwowa



Korzyści:



większość zalet architektury klient-
serwer



prostsze projektowanie



prostsza implementacja 



możliwość powtórnego wykorzystania 
komponentów po stronie serwera



łatwość rozprowadzania w sieci 
(równomierne obciążenie i odporność na 
awarie) 

background image

Architektura trójwarstwowa



Wady:



potrzebny silniejszy sprzęt na serwery 
aplikacyjne



trudniejsze technologie



ograniczenia w funkcjonalności interfejsu 
użytkownika  dla cienkiego klienta



zwiększony ruch sieciowy