Banki danych

advertisement
Banki danych
WYKŁAD 1
dr Łukasz Murowaniecki
[email protected]
T-109
Łódź 2008
Plan wykładu







Pojęcia podstawowe
System zarządzania bazą danych (DBMS)
Relacyjny model danych
Inne modele baz danych
Projektowanie baz danych
Język SQL
Zastosowania i technologie powiązane (hurtownia danych,
eksploracja danych)
Łódź 2008
Literatura








Podstawowa:
C. J. Date – Wprowadzenie do systemów baz danych Wydawnictwa Naukowo-Techniczne
J. Ullman, J. Widom – Podstawowy wykład z systemów baz
danych - Wydawnictwa Naukowo-Techniczne
Uzupełniająca:
Lech Bałachowski, Krzysztof Stencel - Systemy zarządzania bazami
danych - Wydawnictwo PJWSTK (Polsko-Japońska Wyższa Szkoła
Technik Komputerowych)
M. Szeliga – Transact-SQL Czarna księga
R. Barker – CASE Method – Modelowanie związków encji
D. Tsichritzis, F. Lochovsky – Modele danych
Łódź 2008
Pojęcia podstawowe

Baza danych - zbiór danych






uporządkowany
dane trwałe
istniejących przez długi czas, często przez wiele lat
przechowywanych w specjalnie wyznaczonym miejscu (systemie
informatycznym)
Dane – wartości faktycznie przechowywane w bazie danych
Informacje – znaczenie tych wartości dla użytkowników
Łódź 2008
Pojęcia podstawowe

System zarządzania bazą danych - SZBD (ang. Database
Management System - DBMS)



Program (zbiór programów), działający na serwerze bazy danych
Odpowiada za organizację danych wewnątrz bazy danych
Pośredniczy w uzyskaniu dostępu do danych w bazie
Łódź 2008
Pojęcia podstawowe

Rola DBMS





Izolowanie programów korzystających z danych od reprezentacji
fizycznej danych
Zapewnienie mechanizmów dostępu do danych (języki zapytań i
manipulacji danymi)
Ochrona danych (autoryzacja dostępu, ochrona spójności,
mechanizmy odtwarzania po awarii)
Zapewnienie wielodostępu
Dostępność przez sieć
Łódź 2008
Pojęcia podstawowe


Baza danych opisuje w sposób uproszczony pewien fragment
rzeczywistości. Opisuje go przy pomocy modelu danych.
Model danych - zbiór ogólnych zasad posługiwania się danymi.
Zbiór ten obejmuje trzy główne części:



Definicja danych: zbiór reguł określających strukturę danych;
Operowanie danymi: zbiór reguł dotyczących procesu dostępu do
danych i ich modyfikacji;
Integralność danych: zbiór reguł określających, które stany bazy
danych są poprawne (a więc zarazem jakie operacje prowadzące do
modyfikacji danych są dozwolone)
Łódź 2008
Pojęcia podstawowe
System zarządzania bazą danych
Baza danych
Computer
Computer
Model danych
Computer
Użytkownicy
Aplikacje
Łódź 2008
System zarządzania bazą danych

Oczekiwania stawiane DBMS





Tworzenie bazy danych - język definiowania danych DDL
Wyszukiwanie danych – język zapytań DQL, kwerendy
Aktualizacja danych – język manipulacji danymi DML
Przechowywanie danych
Sterowanie dostępem do danych
Łódź 2008
System zarządzania bazą danych
Składowe DBMS
Użytkownicy
Modyfikacje
schematu
Zapytania
Aktualizacje
Procesor zapytań
Moduł zarządania pamięcią
Moduł zarządzania
plikami
Moduł zarządzania
buforami
Dane
Metadane
Łódź 2008
Moduł
zarządzania
transakcjami
System zarządzania bazą danych
Własności transakcji

Zespół własności DBMS, za który odpowiedzialny jest moduł
zarządzania transakcjami nazywany jest słowem




Niepodzielność (Atomicity)
Spójność (Consistency)
Izolację (Isolaction)
Trwałość (Durability)
Łódź 2008
ACID:
System zarządzania bazą danych
Współbieżność





DBMS musi sprawować kontrolę nad przebiegiem transakcji, nie
dopuszczając do wzajemnej blokady poszczególnych transakcji lub
stanu niezgodnego bazy danych
Sytuacja konfliktowa pojawia się wówczas, gdy dwie transakcje
próbują dokonać zapisu na tym samym obiekcie w jednej chwili
Problem utraconej modyfikacji (zapis-zapis)
Problem zależności od niezatwierdzonej wartości (zapis-odczyt)
Problem niespójnej analizy (zapis-odczyt)
Łódź 2008
System zarządzania bazą danych
Współbieżność

Typowa transakcja
Transakcja A
Czas
Odczyt wartości
t1
Zapis zmiany
t2
Zatwierdzenie zmiany
lub
cofnięcie zmiany
t3
Łódź 2008
System zarządzania bazą danych
Współbieżność

Problem utraconej modyfikacji (zapis-zapis)
Transakcja A
Odczyt wartości
Czas
t1
t2
Zapis zmiany
Transakcja B
Odczyt wartości
t3
t4
Łódź 2008
Zapis zmiany
System zarządzania bazą danych
Współbieżność

Problem utraconej modyfikacji – nie wystąpi, gdy przestrzega się
następującej reguły:
transakcja T1 nie powinna dokonywać zapisu wartości obiektu
modyfikowanej przez inną transakcję T2, która nie osiągnęła
jeszcze punktu potwierdzenia
Łódź 2008
System zarządzania bazą danych
Współbieżność

Problem zależności od niezatwierdzonej wartości (zapis-odczyt)
Transakcja A
Czas
Transakcja B
t1
Odczyt wartości
Zapis zmiany
t2
Cofnięcie zmiany
t3
Łódź 2008
System zarządzania bazą danych
Współbieżność

Problem zależności od niezatwierdzonej wartości (zapis-odczyt)
Transakcja A
Zapis zmiany
Czas
Transakcja B
t1
Zapis zmiany
t2
Cofnięcie zmiany
t3
Łódź 2008
System zarządzania bazą danych
Współbieżność

Problem zależności od niezatwierdzonej wartości– nie wystąpi, gdy
przestrzega się następującej reguły:
Transakcja A nie powinna dokonywać dokonywać odczytu wartości
niepotwierdzonych, którymi w tym czasie manipulują inne
transakcje
Łódź 2008
System zarządzania bazą danych
Współbieżność

Problem niespójnej analizy (zapis-odczyt)
Transakcja A
Czas
Odczyt wartości A
t1
Odczyt wartości B (A+B)
t2
Odczyt wartości C (A+B+C)
Transakcja B
t3
Odczyt wartości A
t4
Zapis wartości A -> A1
t5
Zatwierdzenie wartości A1
t6
Łódź 2008
System zarządzania bazą danych
Współbieżność

Problem niespójnej analizy – nie wystąpi, gdy przestrzega się
następującej reguły:
Żadna transakcja nie powinna modyfikować wartości
odczytywanej przez inną transakcję, zanim ta ostatnia nie osiągnie
punktu potwierdzenia
Łódź 2008
System zarządzania bazą danych
Architektura



Architektura dwuwarstwowa (client-server)
Architektura dwu i pół warstwowa
Architektura trójwarstwowa
Łódź 2008
System zarządzania bazą danych
Architektura

Architektura client-server


Serwer sam stanowi DBMS. Może
realizować wszystkie
podstawowe funkcje:
definiowanie danych, obróbkę
danych, zapewnienie
bezpieczeństwa i integralności
danych
Klienci są to rozmaite aplikacje
korzystające z DBMS – zarówno
napisane przez użytkowników jak
i aplikacje wbudowane, czyli
dostarczone wraz z DBMS
Użytkownicy
aplikacji
Aplikacje
Klienci
DBMS
Serwer
Baza danych
Łódź 2008
System zarządzania bazą danych
Architektura

Architektura client-server - zalety




Elastyczność systemu – można pracować z różnymi środowiskami
graficznymi równocześnie. Można operować danymi w sposób spójny
a jednocześnie niezależny od bieżącej struktury
Zarządzanie samym serwerem powoduje uniezależnienie od
konkretnych użytkowników i problemów związanych z wielodostępem
Zmiana jednostki serwera lub oprogramowania serwera nie wymaga
zmiany aplikacji po stronie klienta
Istnieje możliwość wyboru dostępu do danych w zależności od
kategorii użytkowników
Łódź 2008
System zarządzania bazą danych
Architektura

Architektura client-server - wady



Duży stopień komplikacji systemu – istnieje konieczność zapewnienia
mechanizmów spójności i wielodostępu
Konieczność zapewnienia właściwej komunikacji aplikacji klienckiej z
serwerem bazy danych
Zapewnienie odpowiednich połączeń sieciowych (standardy)
Łódź 2008
System zarządzania bazą danych
Architektura

Architektura client-server - rozwarstwienie
Warstwa bazy danych
Struktura bazy
danych
Warstwa aplikacji
i
prezentacji
Reguły
biznesowe
Łódź 2008
Interface
użytkownika
Serwer
Klient
System zarządzania bazą danych
Architektura

Architektura dwu i pół warstwowa
Warstwa bazy danych
Struktura bazy
danych
Serwer
Podwarstwa procedur
wbudowanych i trigerów
Procedury
wbudowane,
trigery
Serwer
Warstwa aplikacji
i
prezentacji
Reguły biznesowe
Klient
Interface
użytkownika
Klient
Łódź 2008
System zarządzania bazą danych
Architektura

Architektura dwu i pół warstwowa - cechy


aplikacja kliencka nie odwołuje się bezpośrednio do bazy danych, ale
jedynie wywołuje pewne operacje w serwerze danych, który bądź
udostępnia pewne dane bądź realizuje wywołane procedury
bazodanowe
w bazie danych zaimplementowane są reguły biznesowe, wspólne dla
wszystkich aplikacji klienckich. Wymiana takiej reguły powoduje, że
sposób funkcjonowania aplikacji klienta zmieni się dla każdego klienta
jednocześnie
Łódź 2008
System zarządzania bazą danych
Architektura

Architektura trójwarstwowa
Użytkownicy
aplikacji
Aplikacje - interface
Klienci
Aplikacje - procedury
biznesowe
Serwer aplikacji
DBMS
Serwer bazy
danych
Baza danych
Łódź 2008
System zarządzania bazą danych
Architektura

Architektura trójwarstwowa
Warstwa bazy danych
Struktura bazy
danych
Warstwa aplikacji
Reguły
biznesowe
Warstwa prezentacji
Interface
użytkownika
Łódź 2008
Serwer bazy danych
Serwer aplikacji
Klient
System zarządzania bazą danych
Architektura

Architektura trójwarstwowa – cechy






Istnieje potrzeba wyprowadzenia kodu poza strukturę serwera bazy
danych
Aplikacja kliencka komunikuje się jedynie z serwerem aplikacji
Serwer aplikacji wykonuje procedury na żądanie aplikacji klienckiej a
one odwołują się do bazy danych
Serwer aplikacji może inicjować realizowanie operacji bazodanowych
na kilku serwerach aplikacji jednocześnie
Warstwa aplikacji jest odpowiedzialna za spójność danych
posadowionych na kilku serwerach oraz za odseparowanie aplikacji
klienckiej od struktur baz danych
Architektura trójwarstwowa stosowana jest m.in.. W systemach, w
których komunikacja oparta jest o internet, np.. ORACLE 9i (IAS)
Łódź 2008
System zarządzania bazą danych
Architektura

Architektura trójwarstwowa
Łódź 2008
Download