SYSTEM B, student - informatyka, Systemy Baz Danych


  1. System zarządzania bazą danych, jego przykładowa architektura, funkcje DBMS, f-cje poszczególnych modułów.

Baza danych jest modelem pewnego aspektu rzeczywistości danej organizacji. Tę rzeczywistość nazywamy obszarem analizy (OA). Bazę danych możemy uważać za zbiór danych, których zadaniem jest reprezentowanie pewnego OA. Dane to fakty. Dana, jednostka danych, jest jednym symbolem lub zbiorem symboli, którego używamy, aby reprezentować jakąś „rzecz”.

Dane w bazie danych są traktowane jako trwałe. Przez trwałość rozumiemy, że dane są przechowywane przez pewien czas. Ten czas nie musi być bardzo długi. Termin „trwałość” jest używany do rozróżnienia bardziej trwałych danych od danych, które są tymczasowe.

Baza danych składa się z dwóch części: intensjonalnej i ekstensjonalnej. Część intensjonalna bazy danych jest zbiorem definicji, które opisują strukturę danych bazy danych. Część ekstensjonalna bazy danych jest łącznym zbiorem danych w bazie danych. Część intensjonalną bazy danych nazywamy schematem bazy danych. Tworzenie schematu bazy danych nazywamy projektowaniem bazy danych.

Bazy danych charakteryzują się czterema podstawowymi własnościami:

W pewnym uproszczeniu przez bazę danych rozumiemy uporządkowany zbiór danych, a przez system bazy danych - bazę danych wraz z oprogramowaniem umożliwiającym operowanie na niej. Baza danych jest przechowywana na nośnikach komputerowych. Precyzując definicję bazy danych można powiedzieć, że baza danych jest abstrakcyjnym, informatycznym modelem wybranego fragmentu rzeczywistości.

Fragment rzeczywistości może być rozumiany jako:

Poprawne (z punktu widzenia człowieka) operowanie na bazie danych wiąże się z właściwą interpretacją danych, które zostały w niej zapisane. W związku z tym konieczny jest opis semantyki (znaczenia) danych, przechowywanych w bazie.

System bazy danych służy więc do modelowania rzeczywistości (fragmentu). W systemach baz danych rzeczywistość opisuje się za pomocą modelu danych. Przez model danych rozumiemy zbiór abstrakcyjnych pojęć umożliwiających reprezentację określonych własności tego świata.

Zbiór pojęć użyty do opisu własności tego konkretnego fragmentu świata rzeczywistego, istotnych z punktu widzenia danego zastosowania tworzy schemat bazy danych.

Baza danych jest modelem logicznie spójnym służącym określonemu celowi. W związku z tym baza danych nie może (nie powinna) przyjąć stanu, który nie jest nigdy osiągalny w modelowanej rzeczywistości.

Można więc powiedzieć, że każda baza danych posiada:

Baza danych to dane i tzw. schemat bazy danych. Dane opisują cechy (własności) modelowanych obiektów. Nie jest jednak możliwa ich interpretacja bez użycia schematu. Schemat jest opisem struktury (formatu) przechowywanych danych oraz wzajemnych powiązań między nimi.

System Zarządzania Bazą Danych (SZBD)

System Zarządzania Bazą Danych DBMS (Database Management System) jest to zestaw programów umożliwiających tworzenie i eksploatację bazy danych. System zarządzania bazą danych jest oprogramowaniem ogólnego przeznaczenia. System bazy danych składa się z bazy danych, systemu zarządzania bazą danych i ewentualnie z zestawu aplikacji wspomagających pracę poszczególnych grup użytkowników.

Czego oczekuje się od systemu DBMS:

  1. Umożliwienia użytkownikowi utworzenia nowej bazy danych i określenia jej schematu (logicznej struktury danych) za pomocą specjalizowanego języka definiowania danych (data-definition language).

  2. Zapewnienia możliwości przechowywania ogromnej ilości danych przechowywanej przez długi czas chroniąc je przed przypadkowym, lub niepowołanym dostępem, a także umożliwiając efektywny dostęp do danych z poziomu języka zapytań i operacji na danych

  3. Sterowania jednoczesnym dostępem do danych przez wielu użytkowników, z zapewnieniem bezkolizyjności oraz ochrony danych przed przypadkowym uszkodzeniem.

Architektura systemu DBMS

0x01 graphic

Na samym dole widzimy element reprezentujący miejsce składowania danych. Zauważmy, że ten element służy nie tylko do zapisu danych, ale także metadanych, które opisują strukturę danych. Na przykład, jeśli rozważany DBMS jest relacyjny, to metadane obejmują nazwy relacji, nazwy atrybutów relacji i typy poszczególnych atrybutów ( np. całkowity lub znakowy ).

Często system DBMS obsługuje indeksy danych. Indeks jest taką strukturą danych, która pomaga w szybkim odnajdywaniu właściwych danych, a posługuje się przy tym ich wartościami; najbardziej popularny przykład indeksu umożliwia odnalezienie właściwej krotki relacji, mającej zadane wartości pewnych atrybutów. Na przykład relacja obejmująca numery kont i bilans może mieć indeks założony na numerach kont, wówczas odnalezienie bilansu konta o podanym numerze odbywa się błyskawicznie. Indeksy są przechowywane razem z danymi, a informacja o tym, który atrybut ma założone indeksy, należy do metadanych.

Na rysunku można także dostrzec moduł zarządzania pamięcią, który

ma za zadanie wybierać właściwe dane z pamięci i w razie potrzeby

dostosować je do wymagań modułów z wyższych poziomów systemu.

Moduł zarządzania pamięcią składa się z dwóch części: modułu zarządzania buforami oraz modułu zarządzania plikami.

  1. Moduł zarządzania plikami przechowuje dane o miejscu zapisania plików na dysku i na polecenie modułu zarządzania buforami przesyła zawartość bloku lub bloków, gdzie jest zapamiętany żądany plik.

  2. Moduł zarządzania buforami obsługuje pamięć operacyjną. Moduł zarządzania plikami przekazuje bloki danych z dysku, a moduł zarządzania buforami wybiera w pamięci operacyjnej strony, które zostaną przydzielone dla wybranych bloków. Blok z dysku może być przez chwile przechowywany w pamięci operacyjnej, ale musi zostać przesłany z powrotem na dysk, gdy tylko pojawi się potrzeba zapisania w to miejsce pamięci innego bloku. Powrót bloku na dysk może nastąpić również w wyniku żądania modułu obsługi transakcji.

Widać tam także składową, którą nazwaliśmy procesorem zapytań, mimo, że taka nazwa może wprowadzać w błąd, bowiem obsługuje on nie tylko zapytania, ale również aktualizacje danych oraz metadanych. Jego zadanie polega na znalezieniu najlepszego sposobu wykonania zadanych operacji i na wydaniu poleceń do modułu zarządzania pamięcią, który je wykona.

Typowy DBMS stwarza użytkownikowi sposobność łączenia jednego lub więcej zapytań, bądź modyfikacji, w transakcję, która stanowi nieformalną grupę operacji przeznaczonych do wykonania razem w jednym ciągu, jako duża operacja jednostkowa. Moduł zarządzania transakcjami odpowiada za spójność systemu. Musi on gwarantować, że kilka jednocześnie przetwarzanych zapytań nie będzie sobie nawzajem przeszkadzać oraz, że żadne dane nie

zostaną utracone, nawet jeśli nastąpi awaria systemu. W tym celu dokumentuje wszystkie operacje, tzn. rozpoczęcie każdej transakcji, zmiany w bazie danych dokonane przez transakcje oraz zakończenie transakcji. Zapis taki nazywa się logiem. Log jest przechowywany w pamięci stałej, tzn. na nośniku danych jakim jest dysk, który zapewni przetrwanie danych w przypadku awarii zasilania.

Zasadnicze przetwarzanie transakcji odbywa się w pamięci operacyjnej, ale dane o przebiegu jej wykonania są natychmiast

zapisywane na dysku. A więc log wszystkich operacji jest ważnym czynnikiem zapewniającym systemowi trwałość. Moduł zarządzania transakcjami współdziała z modułem obsługi zapytań, ponieważ musi

mieć dostęp do szczegółów dotyczących tych danych, na których przetwarza się bieżące zapytanie. Może się zdarzyć, że część przetwarzania będzie musiała zostać opóźniona, aby nie powstał konflikt.

Transakcja jest atomową jednostką pracy, taką że baza danych jest w stanie spójnym przed i po zakończeniu transakcji. Inaczej mówiąc, jeśli dana transakcja jest wykonana poprawnie, zmiany, które wprowadziła, będą pamiętane w bazie danych. W przeciwnym przypadku, wszystkie zmiany wprowadzone przez transakcje będą anulowane ( wycofane).

U góry rysunku można zobaczyć trzy rodzaje wejść do systemu DBMS:

  1. Zapytania. Są to zapytania o dane. Mogą one być sformułowane dwojako:

2. Aktualizacje. Są to operacje zmiany danych. Tak jak w przypadku zapytań można je wprowadzić do systemu poprzez interfejsy zapytań bezpośrednich lub poprzez interfejsy programów użytkowych.

3. Modyfikacje schematu. Polecenia tego rodzaju wydaje specjalnie uprawniona osoba nazywana administratorem bazy danych, której wolno zmieniać schemat bazy danych i tworzyć nowe bazy danych. Na przykład, jeśli agencje rządowe wezwą banki do udokumentowania wypłaty odsetek zgodnie z numerami ubezpieczenia społecznego klientów, to bank może zażądać dodania do relacji opisującej klientów nowego atrybutu o nazwie np. nrUbezpieczenia.

Funkcje systemu zarządzania bazą danych

  1. Języki stosowane w bazach danych

Języki stosowane w bazach danych

Języki, które stosuje się do projektowania i wypełniania bazy danych można podzielić na cztery różne grupy: