Bazy danych 2

Transkrypt

Bazy danych 2
Bazy danych 2
Wykład 1
Sprawy organizacyjne

Materiały i listy zadań zamieszczane będą na
stronie www.math.uni.opole.pl/~ajasi

E-mail: standardowy [email protected]
Sprawy organizacyjne
Program wykładu - jeszcze dokładnie nieznany (może ulec modyfikacji)
Ilość
godzi
n
Laboratorium
5h
Architektura baz danych
DBMS- System Zarządzania Bazą Danych
Modelowanie baz danych
6h
Model konceptualny danych
Model logiczny danych
(Power Designer)
5h
Język SQL
4h
Fizyczny model danych w wybranym DBMS
(Adaptive Server Anywhere)
4h
Optymalizacja bazy danych
Dostrajanie bazy danych
2h
Tworzenie indeksów, perspektyw.
Określanie grup użytkowników i ich uprawnień
(Adaptive Server Anywhere)
2h
Procedury przechowywane i wyzwalane
2h
Implementacja procedur i wyzwalaczy
(Adaptive Server Anywhere)
2h
Zdarzenia
2h
Transakcje
2h
Osadzony SQL
2h
Odtwarzanie bazy danych
16h
2h
Obiektowe bazy danych
Obiektowo-relacyjne bazy danych
Budowa aplikacji bazodanowych
w architekturze klient-serwer.
(Power Builder)
2h
XML
Ilość
godzin
Wykład
Sprawy organizacyjne

Literatura




C.J. Date – Wprowadzenie do systemów baz
danych
T. Conolly, C. Begg – Systemy baz danych
R.Stones, N. Matthew – Bazy danych i
PostgreSQL
Zasoby Internetu
Tytułem wstępu

Baza danych - dostępny dla wielu użytkowników zbiór
powiązanych logicznie danych wraz z definicją ich
struktury, zaprojektowany dla zaspokojenia potrzeb
przetwarzania danych przez instytucję

System zarządzania bazą danych (database
management system, DBMS) – system oprogramowania,
który pozwala użytkownikom definiować, tworzyć i
utrzymywać bazę danych oraz kontrolować do niej
dostęp.
Tytułem wstępu

DBMS pełni różne funkcje

Pozwala zdefiniować bazę danych przy użyciu języka definicji
danych (Data Definition Language, DDL) – język ten pozwala
określić typy danych, struktury i więzy dla danych przechowywanych
w bazie

Pozwala dopisywać, modyfikować, usuwać i wyszukiwać dane z
bazy przy użyciu języka manipulowania danymi ( Data
Manipulation Language, DML)

Pozwala na kontrolowany dostęp do danych (szczegóły za chwilę)
Trójwarstwowa architektura
systemów baz danych
Użytkownik A1
Warstwa
zewnętrzna
Użytkownik A2
Zewnętrzny
model danych A
Schemat
zewnętrzny A
Odwzorowanie
zewnętrzno-pojęciowe
Warstwa
pojęciowa
Schemat
pojęciowy
Użytkownik B1
Zewnętrzny
model danych B
Odwzorowanie
zewnętrzno-pojęciowe
Pojęciowy model danych
DBMS
Odwzorowanie
pojęciowo-wewnętrzne
Schemat
Warstwa
wewnętrzna wewnętrzny
Wewnętrzny model danych
(zapamiętana baza danych)
Trójwarstwowa architektura
systemów baz danych (c.d.)

Główne zadanie takiej architektury to zapewnienie
niezależności danych

Logiczna niezależność danych – oznacza odporność
schematów zewnętrznych na zmiany dokonywane w schemacie
pojęciowym

Fizyczna niezależność danych – oznacza odporność schematu
pojęciowego na zmiany dokonywane w schemacie wewnętrznym
Zadania DBMS

DBMS – system oprogramowania, który pozwala
użytkownikom definiować, tworzyć i utrzymywać bazę
danych oraz kontrolować do niej dostęp.
 W 1982 roku Codd podał listę usług, które powinny być
realizowane przez pełny DBMS
Zadania DBMS
1.
Zapis odczyt i aktualizacja danych
DBMS musi umożliwiać użytkownikom zapis, odczyt i aktualizację
bazy danych, przy czym powinien realizować te funkcje w sposób,
który nie ujawnia użytkownikom szczegółów fizycznej
implementacji bazy danych.
2.
Katalog dostępny dla użytkowników
DBMS musi udostępniać użytkownikom katalog w którym
zapamiętane są opisy elementów danych (katalog systemowy).
Katalog ten jest miejscem przechowywania informacji opisujących
dane w bazie , czyli inaczej: jest zbiorem „danych o danych” lub
metadanych.
3.
Obsługa transakcji
DBMS musi zawierać pewien „mechanizm’, który będzie się
troszczył o to, aby albo wykonane zostały wszystkie aktualizacje
związane z daną transakcją, albo żadna z nich nie została
wykonana
Zadania DBMS
1.
Sterowanie współbieżnością
DBMS 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.
2.
Obsługa odtwarzania bazy
DBMS powinien zawierać „mechanizm” służący do odtwarzania
bazy danych w sytuacji, gdy ulegnie ona jakiemukolwiek
uszkodzeniu.
3.
Obsługa autoryzacji
DBMS powinien zawierać pewien „mechanizm” zapewniający, że
dostęp do bazy danych uzyskają tylko uprawnieni użytkownicy.
Zadania DBMS
1.
Obsługa integralności danych
DBMS musi dostarczać środki, które zapewnią, że zarówno dane,
jak i dokonywane na nich zmiany spełniają ustalone nienaruszalne
warunki spójności danych zwane więzami;
2.
Obsługa transmisji danych
SZBD musi być w stanie współpracować z oprogramowaniem
transmisji danych (DCM, z ang. Data Communication Manager);
większość użytkowników korzysta z bazy z poziomu stacji
roboczych, które mogą być bezpośrednio podłączone do
komputera obsługującego DBMS lub komunikować się z nim
poprzez sieć- w obu przypadkach system otrzymuje żądania w
postaci przesyłanych komunikatów i odpowiada w podobny
sposób; konieczne jest aby system potrafił współpracować z
różnymi DCM
Zadania DBMS
1.
Usługi wspierające niezależność danych
SZBD powinien zawierać elementy wspierające niezależność
programów od rzeczywistej struktury danych – możliwość zmiany
fizycznej charakterystyki bazy danych bez wpływu na sposób
widzenia danych przez uzytkownika
2.
Programy narzędziowe
SZBD powinien zawierać zestaw programów narzędziowych np.
 Programy importujące, programy eksportujące
 Programy nadzorujące, służące do kontrolowania bazy
danych
 Programy analizy statystycznej
 Programy służące do reorganizacji indeksów
 Programy odśmiecające
Architektura klient - serwer
Klient
Obsługuje interfejs użytkownika
Akceptuje wprowadzane dane i sprawdza ich
poprawność składniową
Obsługuje sterowanie w aplikacji
Tworzy żądanie do bazy danych i przesyła je do
serwera
Przekazuje odpowiedź z powrotem do użytkownika
Serwer
Akceptuje i przetwarza żądania do bazy danych od
klientów
Sprawdza uprawnienia
Zapewnia nienaruszalność więzów integralności
Realizuje przetwarzanie zapytań/aktualizacji i
przekazuje odpowiedzi klientom
Konserwuje katalog systemowy
Obsługuje współbiezny dostęp
Realizuje odzyskiwanie danych po awarii
Architektura klient - serwer
Architektura klient - serwer

Zalety






Umożliwia szerszy dostęp do istniejących baz danych
Zwiększa wydajność systemu – jednostki robocze mogą równolegle
wykonywać aplikacje
Pozwala na redukcje kosztów
Redukuje koszty komunikacji – aplikacje wykonują część operacji w
komputerach klientów, a przez sieć przesyłają tylko żądanie dostępu
do bazy danych
Rozszerza zakres niesprzeczności danych – więzy integralności są
sprawdzane tylko w jednym miejscu
Konfiguracja tylko jednego serwera
Dziękuję za uwagę!!!