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 aplikacja bazy danych
stanowia system bazy danych.
Aplikacja bazy danych jest to
program lub zespół programów, które
pomagają użytkownikowi pracować z
baza danych.
Celem aplikacji jest:
•
odizolowanie samej bazy od użytkownika
•
zabezpiecza zbiór danych przed
przypadkowym bądź celowym
uszkodzeniem
Można wyróżnić pięć zasadniczych
komponentów tworzących systemy z
baza danych:
sprzęt
oprogramowanie
dane
procedury
ludzie
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
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
Ludzie:
administratorzy baz danych
projektanci baz danych
projektanci i programiści aplikacji
bazodanowych
użytkownicy końcowi.
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.
Cztery ważne, z punktu widzenia
ewolucji systemów baz danych
zdarzenia:
pojawienie się sieci komputerowych
Internet
System WWW
Intranet
bazy lokalne
bazy typu klient-serwer
Jest to komunikacja pomiędzy aplikacją a
zbiorem danych
Używane są tylko przez naszą aplikacje
Lokalne bazy danych umieszczone są na
jednym komputerze
Przykładem jest program, który przechowuje
adresy oraz inne dane pracowników firmy.
Na serwerze znajduje się program, którego
zadaniem jest przechowywanie danych,
zarządzanie nimi, a także obsługą aplikacji-
klientów. Aplikacja-klient to program, który
jest udostępniamy w kilku egzemplarzach
(lub nawet setkach kopii) i służy do
komunikacji z serwerem. Klient zadaje
serwerowi tzw. zapytania, które ten
interpretuje i zwraca klientowi.
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
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 prezentacje danych
– po stronie klienta jest umieszczony interfejs użytkownika.
klient realizuje logikę aplikacji oraz równie jest
odpowiedzialny za przetwarzanie danych
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
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
Dzieli aplikację bazy danych na trzy,
współpracujące ze sobą części:
Warstwę dolna, realizująca dostęp do bazy
danych,
Warstwę środkowa, zawierająca reguły
dziedziczenia danych,
Warstwę górna, stanowiąca interfejs
użytkownika
Warstwa górna i dolna powinny mieć
charakter bezkontekstowy.
Warstwa środkowa powinna zawierać
reguły, według których przetwarzane są
dane
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
Gdy w warstwie klienta lokowany jest
jedynie interfejs użytkownika, który
realizuje prezentacje danych i
przekazywanie danych do warstwy
aplikacji mówi się o tzw. „chudym
(cienkim) kliencie” ze względu na
mała ilość funkcji, jaka w tej
technologii realizuje strona klienta.
Cienki klient:
•
interfejs użytkownika jest strona WWW, która
obsługuje przeglądarka internetowa
•
Warstwa druga realizuje funkcje systemu oraz
przetwarzanie danych
•
kontaktuje się z warstwa klienta i serwerem lub
serwerami bazy danych poprzez siec lokalna LAN
lub WAN
•
Warstwa trzecia jest odpowiedzialna za fizyczne
przetwarzanie i magazynowanie informacji i
najczęściej stanowią ja serwery baz danych
Bardziej złożone interfejsy mogą
realizować zarówno interfejs użytkownika
jak i cześć logiki aplikacji.
Oznacza to, że klient zawiera więcej niż
jedna warstwę, czyli jest klientem
wielowarstwowym. Mamy wtedy do
czynienia z tzw. „grubym klientem”
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)
Wady:
potrzebny silniejszy sprzęt na serwery
aplikacyjne
trudniejsze technologie
ograniczenia w funkcjonalności interfejsu
użytkownika dla cienkiego klienta
zwiększony ruch sieciowy