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ę!!!