Pojęcie systemu baz danych

advertisement
Pojęcie systemu baz danych
System baz danych- skomputeryzowany system przechowywania danych/informacji
zorganizowanych w pliki. Składa się z zasadniczych elementów:
1) Danych
2) Sprzętu
3) Programów
4) Użytkowników.
System Zarządzania Bazą Danych (SZBD) jest zorganizowanym zbiorem narzędzi
umożliwiającym zdefiniowanie struktury bazy, jej utworzenie i później wykonywanie
wszystkich operacji na bazie.
Popularna jest nazwa angielska SZBD: DataBase Management System (DBMS).
SZBD może posiadać wbudowane narzędzia umożliwiające tworzenie aplikacji użytkownika,
tj. programów, za pomocą których użytkownik łączy się i obsługuje bazę.
Zarządzanie bazą danych obejmuje m.in.:










organizowanie struktury danych,
wprowadzanie danych,
wyszukiwanie danych według zadanych kryteriów,
usuwanie danych,
aktualizowanie danych,
zachowanie integralności (ochronę przed błędami, które utrudniłyby wykonywanie
różnych operacji),
administrowanie bezpieczeństwem,
organizowanie pracy wielodostępnej,
łączenie i wymianę danych z innymi systemami baz danych,
zarządzanie transakcjami, tj. złożonymi operacjami, które muszą się albo wszystkie
wykonać poprawnie, albo żadna z nich (anulowanie transakcji musi zakończyć się
wycofaniem wszelkich dokonanych już zmian i doprowadzeniem danych do stanu
sprzed rozpoczęcia transakcji). Wiele systemów umożliwia wykonywanie transakcji
rozproszonych.
Popularne współczesne systemy zarządzania bazami danych oparte o architekturę
klient-serwer:
 Oracle (http://www.oracle.com/), jeden z dwóch najpopularniejszych w Polsce systemów
komercyjnych,
 Microsoft SQL Server (http://www.microsoft.com/), jeden z dwóch najpopularniejszych w
Polsce systemów komercyjnych,
1




PostgreSQL (http://www.postgresql.com/), istnieje bardzo popularna wersja darmowa na
Linuxa, system jest znacznie prostszy w porównaniu z pierwszymi dwoma, posiada za to
pewne rozszerzenia obiektowe,
MySQL (http://www.mysql.com/) – istnieje bardzo popularna wersja darmowa na Linuxa,
system jest prostszy od PostgreSQL, pewne ważne mechanizmy stosowane w bazach
relacyjnych nie są zaimplementowane, jednak jest to system bardzo szybki, czasami
dorównujący nawet Oracle czy SQL Serwerowi,
DB2 firmy IBM, w wielu testach uznawany za najszybszy,
Sybase (http://www.sybase.com/).
Charakterystyka systemów typu desktop.
Jednym z najbardziej znanych systemów typu desktop jest MS Access. Baza danych oraz
oprogramowanie klienckie stanowi tu integralną całość. Nie ma serwera, który odpowiadałby
na pytania klientów, praca sieciowa jest realizowana na zasadzie wspólnego dostępu do
plików.
Opis niektórych systemów:
2
Architektura systemu baz danych
Architektura baz danych:
Uwagi:
Architektura ANSI-SPARC (American National Standards Institute, Standards Planning And
Requirements Committee) to abstrakcyjny standard projektowania systemów zarządzania bazami
danych zaproponowany po raz pierwszy w 1975 roku.
Większość powszechnie używanych współcześnie baz danych opiera się na tym schemacie,
aczkolwiek nie został on nigdy sformalizowany.
3
4
5
6
1
1
http://ii.uwb.edu.pl/~aboltuc/images/stories/wykad_1.pdf
7
Dodatkowe informacje z innych źródeł:
- Jednowarstwowe bazy danych to takie, które wykonują natychmiast wszelkiego rodzaje zmiany,
zaś program, który udostępnia użytkownikowi zawartość bazy ma z nim bezpośredni kontakt.
- Dwuwarstwowe bazy danych – klient porozumiewa się z serwerem za pomocą specjalnych
sterowników. Jeśli chodzi o samo połączenie to jest ono zależne od samego serwera, natomiast
kontrolowanie poprawności danych zależy od klienta. Rozwiązanie takie wiąże się ze sporym
obciążeniem programu klienckiego.
Większość lokalnych baz danych opiera się na jednowarstwowym modelu natomiast bazy typu klientserwer na dwu lub wielowarstwowym modelu architektury baz danych.
Architektury współczesnych systemów baz danych.
Architektura klient-serwer we współczesnych dużych systemach baz danych
Klient jest programem żądającym obsługi pewnego zlecenia,
Serwer jest programem odbierającym od klienta żądanie i wykonującym je.
Architektury dwuwarstwowe, trójwarstwowe i wielowarstwowe.
Dwuwarstwowa – jedna warstwa to system bazy danych, druga to oprogramowanie klienckie.
W architekturze trójwarstwowej (lub uogólniając – wielowarstwowej) między serwerem bazy
danych a programem klienckim jest program pośredniczący, na przykład serwer WWW.
8
9
Architektury rozproszone
Dane są przechowywane na różnych serwerach, ale są wzajemnie dostępne (przynajmniej
część z nich). Bazy rozproszone można tworzyć na przykład aby przybliżyć serwer do klienta.
O bazach rozproszonych, technikach ich tworzenia będzie osobny wykład.
10
Download