1 / 31

Banki danych WYKŁAD 1

Banki danych WYKŁAD 1. dr Łukasz Murowaniecki lukaszm@uni.lodz.pl 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

wayde
Download Presentation

Banki danych WYKŁAD 1

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Banki danychWYKŁAD 1 dr Łukasz Murowaniecki lukaszm@uni.lodz.pl T-109 Łódź 2008

  2. 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

  3. 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

  4. 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

  5. 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

  6. 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

  7. 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

  8. Pojęcia podstawowe Łódź 2008

  9. 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

  10. System zarządzania bazą danychSkładowe DBMS Łódź 2008

  11. 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) Łódź 2008

  12. 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) Łódź 2008

  13. System zarządzania bazą danychWspółbieżność • Typowa transakcja Łódź 2008

  14. System zarządzania bazą danychWspółbieżność • Problem utraconej modyfikacji (zapis-zapis) Łódź 2008

  15. 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 Łódź 2008

  16. System zarządzania bazą danychWspółbieżność • Problem zależności od niezatwierdzonej wartości (zapis-odczyt) Łódź 2008

  17. System zarządzania bazą danychWspółbieżność • Problem zależności od niezatwierdzonej wartości (zapis-odczyt) Łódź 2008

  18. 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 Łódź 2008

  19. System zarządzania bazą danychWspółbieżność • Problem niespójnej analizy (zapis-odczyt) Łódź 2008

  20. 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 Łódź 2008

  21. System zarządzania bazą danychArchitektura • Architektura dwuwarstwowa (client-server) • Architektura dwu i pół warstwowa • Architektura trójwarstwowa Łódź 2008

  22. 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 System zarządzania bazą danychArchitektura Łódź 2008

  23. 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 Łódź 2008

  24. 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) Łódź 2008

  25. System zarządzania bazą danychArchitektura • Architektura client-server - rozwarstwienie Łódź 2008

  26. System zarządzania bazą danychArchitektura • Architektura dwu i pół warstwowa Łódź 2008

  27. 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 Łódź 2008

  28. Architektura trójwarstwowa System zarządzania bazą danychArchitektura Łódź 2008

  29. System zarządzania bazą danychArchitektura • Architektura trójwarstwowa Łódź 2008

  30. 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) Łódź 2008

  31. System zarządzania bazą danychArchitektura • Architektura trójwarstwowa Łódź 2008

More Related