31
Łódź 2008 Banki danych WYKŁAD 1 dr Łukasz Murowaniecki [email protected] T-109

Banki danych WYKŁAD 1

  • Upload
    wayde

  • View
    57

  • Download
    1

Embed Size (px)

DESCRIPTION

Banki danych WYKŁAD 1. dr Łukasz Murowaniecki [email protected] T-109. 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 - PowerPoint PPT Presentation

Citation preview

Page 1: Banki danych WYKŁAD 1

Łódź 2008

Banki danychWYKŁAD 1

dr Łukasz [email protected]

T-109

Page 2: Banki danych WYKŁAD 1

Łó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)

Page 3: Banki danych WYKŁAD 1

Łó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

Page 4: Banki danych WYKŁAD 1

Łó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

Page 5: Banki danych WYKŁAD 1

Łó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

Page 6: Banki danych WYKŁAD 1

Łó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ć

Page 7: Banki danych WYKŁAD 1

Łó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)

Page 8: Banki danych WYKŁAD 1

Łódź 2008

Pojęcia podstawowe

System zarządzania bazą danych

Baza danych

Computer

Computer

Computer

Aplikacje Użytkownicy

Model danych

Page 9: Banki danych WYKŁAD 1

Łó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

Page 10: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychSkładowe DBMS

DaneMetadane

Moduł zarządania pamięcią

Procesor zapytań

Moduł zarządzania transakcjami

Modyfikacje schematu

Zapytania Aktualizacje

Użytkownicy

Moduł zarządzania plikami

Moduł zarządzania buforami

Page 11: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychWłasności transakcji

Zespół własności DBMS, za który odpowiedzialny jest moduł zarządzania transakcjami nazywany jest słowem

ACID: Niepodzielność (Atomicity) Spójność (Consistency) Izolację (Isolaction) Trwałość (Durability)

Page 12: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychWspół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)

Page 13: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychWspółbieżność

Typowa transakcja Czas

t2

t3

t1

Transakcja A

Zapis zmiany

Odczyt wartości

Zatwierdzenie zmianylub

cofnięcie zmiany

Page 14: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychWspółbieżność

Problem utraconej modyfikacji (zapis-zapis)

Transakcja A Czas Transakcja B

Odczyt wartości

Odczyt wartości

Zapis zmiany

Zapis zmiany

t2

t3

t4

t1

Page 15: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychWspół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

Page 16: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychWspółbieżność

Problem zależności od niezatwierdzonej wartości (zapis-odczyt)Transakcja A Czas Transakcja B

Odczyt wartości

Cofnięcie zmiany

Zapis zmiany

t2

t3

t1

Page 17: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychWspółbieżność

Problem zależności od niezatwierdzonej wartości (zapis-odczyt)Transakcja A Czas Transakcja B

Zapis zmiany

Cofnięcie zmiany

Zapis zmiany

t2

t3

t1

Page 18: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychWspół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

Page 19: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychWspółbieżność

Problem niespójnej analizy (zapis-odczyt)Czas

t2

t3

t1

Transakcja A

Odczyt wartości B (A+B)

Odczyt wartości A

Odczyt wartości A

Zapis wartości A -> A1

Zatwierdzenie wartości A1

Odczyt wartości C (A+B+C)

t4

t5

t6

Transakcja B

Page 20: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychWspół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

Page 21: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

Architektura dwuwarstwowa (client-server) Architektura dwu i pół warstwowa Architektura trójwarstwowa

Page 22: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

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

DBMS

Baza danych

Serwer

Klienci

Użytkownicyaplikacji

Aplikacje

Page 23: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

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

Page 24: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

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)

Page 25: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

Architektura client-server - rozwarstwienie

Warstwa bazy danych

Warstwa aplikacjii

prezentacji

Serwer

Klient

Struktura bazydanych

Regułybiznesowe

Interfaceużytkownika

Page 26: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

Architektura dwu i pół warstwowa

Warstwa bazy danych

Warstwa aplikacjii

prezentacji

Serwer

Klient

Klient

Reguły biznesowe

Struktura bazydanych

Interfaceużytkownika

SerwerProcedury

wbudowane,trigery

Podwarstwa procedurwbudowanych i trigerów

Page 27: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

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

Page 28: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

Architektura trójwarstwowa

DBMS

Baza danych

Serwer bazydanych

Klienci

Użytkownicyaplikacji

Aplikacje - procedurybiznesowe

Aplikacje - interface

Serwer aplikacji

Page 29: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

Architektura trójwarstwowa

Warstwa bazy danych

Warstwa aplikacji

Serwer bazy danych

Klient

Struktura bazydanych

Regułybiznesowe

Interfaceużytkownika

Warstwa prezentacji

Serwer aplikacji

Page 30: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

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)

Page 31: Banki danych WYKŁAD 1

Łódź 2008

System zarządzania bazą danychArchitektura

Architektura trójwarstwowa