SYSTEMY BAZ DANYCH
Baza danych jest modelem aspektu rzeczywistości danej organizacji. Tę rzeczywistość nazywamy obszarem analizy(OA).B.D. 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”.Składa się z dwóch części:intensjonalna i ekstensjonalna.
Część intensjonalna b.d. Jest zbiorem definicji, które opisują strukturą danych bazy danych. część ekstensjonalna b.d. Jest łącznym zbiorem danych w b.d.
Cześć intensjonalna b.d. Nazywamy schematem b.d. Tworzenie schematu b.d. Nazywamy projektem b.d.
Dane w b.d. 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óżniania bardziej trwałych danych od danych, które są tymczasowe.
B.d. Charakteryzują się czteroma podstawowymi właściwościami:
-niezależność aplikacji i danych
-abstrakcyjna reprezentacja danych
-różnorodność sposobów widzenia danych
-fizyczna i logiczna niezależność danych
B.d. Jako maszyna abstrakcyjna
OA B.d. Jest modelem pewnego aspektu rzeczywistego(OA)
`23' jest faktem kontekst: wiek informacja
b.d. To dane i tzw. Schematy b.d. Dane opisują cechy(własciwoś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.
Systemy zarządzania B.D.(SZBD)
DBMS-jest to zestaw programów umożliwiających tworzenie i eksploatację b.d. System zarządzania baza danych jest oprogramowanie ogólnego przeznaczenia. System b.d. Składa się z b.d systemu zarządzającego b.d. i ewentualnie z zestawu aplikacji wspomagających prace poszczególnych grup użytkowników.
Czego oczekujemy od systemu DBMS:
-umożliwienie użytkownikowi utworzenie nowej b.d. I określenie jej schematu za pomocą specjalistycznego języka definiowania danych
-udostępniania użytkownikowi możliwości tworzenia zapytań (query) o dane oraz aktualizowania danych za pomocą odpowiedniego języka nazywanego językiem zapytań (query longuage)
-zapewnienie możliwości przechowywania ogromnej ilości danych przechowywanej przez długi czas chroniący je przed przypadkowym lub niepowołanym dostępem a także umoaliwiajac efektywny dostęp do danych z poziomu języka zapytań i operacji na danych
-sterowania jednoczesnym dostępem do danych przez wielu użytkowników z zapewnieniem bezkolizyjności oraz ochrony danych przed przypadkowym uszkodzeniem
Często system DBMS obsługuje indeksy danych indeksów jest taka struktura danych, która pomaga w szybkim odnajdowaniu właściwych danych, a posługuje się przy tym ich wartościami. Najbardziej popularny przykład indeksu umożliwia odnalezienie właściwej kropki relacji, mającej zadane wartości pewnych atrybutów, np. relacja obejmująca numery kont, bilans może mieć indeks założony na nr kont wówczas odnalezienie bilansu konta o podanym numerze odbywa się błyskawicznie. Indeksy są przechowywane razem z danymi a informacje o tym,który atrybut ma złożone indeksy
Moduł zarządzania pamięcią składa się z dwóch części:
-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 nie bloków. Gdzie jest zapamiętywany żądny plik?-Moduł zarządzania buforami obsługuje pamięć operacyjna.Moduł zarządzania plikami przekazują bloki danych z dysku a moduł zarządzania buforami wybiera z 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 zapamiętać 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ż....
Moduł zarządzania transakcjami odpowiada za spójność systemu.Musi on gwarantować,że kilka jednocześnie przeważanych zapytań nie będzie sobie nawzajem przeszkadzać oraz że żadne dane nie zostaną utracone,nawet, jeśli nastąpi ochrona systemu tym dokumentuje wszystkie operacje tan. Rozpoczynając każdej transakcji zmiany w b.d. Dokonywana przez transakcje oraz zakończenia transakcji. Zapis taki nazywamy logiem. Log jest przechowywany w pamięci stałej,tzn. na nośniku danych, jakim jest dysk
Transakcja jest atomowa jednostka pracy, taka, że b.d jest w stanie spójnym (tj. zgodny z modelowym mini światem) przed i po zakończeniu transakcji.Inaczej mówiąc, jeśli mamy dana transakcja jest wykonywana poprawnie, zmiany, które wprowadziła będą pamiętane w b.d. W przeciwnym przypadku wszystkie zmiany wprowadzone przez transakcje będą anulowane(wycofane)
Funkcje systemu zarządzania b.d:
Przechowywanie danych, w co wchodzi tworzenie i utrzymanie struktur danych
Zapewnienie mechanizmów bezpieczeństwa i prywatności
Umożliwienie równoczesnego korzystania kontrolowanego z b.d wielu użytkowników
Umożliwia wprowadzenie i ładownie danych\
Umożliwienie wydobywania i operowania na przechowywanych danych
Zapewnienie integralności zasobów b.d
Umożliwienie wydajnych mechanizmów indeksowania pozwalających na szybkie przeszukiwanie i odnajdowanie interesujących nas danych
Zapewnienie ochrony przechowywanych danych przed ewentualna utrata na skutek przyzby niekoniecznie zależnych od człowieka, zapomoga metod tworzenia kopii bezpieczeństwa i procedur odtwarzania
Języki stosowane w b.d.:
Język danych,umożliwia definiowanie struktury danych przechowywanych w bazie danych, czyli tworzenia schematów implementacji (DDL)
j. Manipulowania danych, które umożliwiają wypełnienie i modyfikowanie i używanie informacji z b,d, (DML)
-j. Sterowania danymi, który umożliwia sterowanie transakcjami np. zatwierdzenie lub wycofanie (DCL)
j. Zapytań, który umożliwia pobieranie z bazy informacji zgodnych z podanymi warunkami (query language)
Jądro systemu zarządzania b.d.:
Funkcje systemu zarządzania b.d. (SZBD) określa następujące kategorie działań:
-organizacja plików
-zarządzanie transakcjami, kontrola współbieżności i spójności
Zarządzanie słownikami
-zarządzeni zapytaniami
Sporządzanie kopii zapasowej (backup) i odtwarzania
Pliki haszowane- dostarczają bardzo szybkiego dostępu do rekordów na podstawie określonego kryterium. Plik haszowany musi być zadeklarowany za pomocą tzw. Klucza haszowanego. To oznacza ze w pliku może być tylko jeden porządek haszownia. Wstawianie rekordu do plików haszowanych oznacza ze klucze rekordów jest przekazywany do uncji haszujacej. Funkcja haszujaca tłumaczy logiczna wartość klucza na fizyczną wartość klucza względną adres bloku.
Podstawowa ` idea indeksu polega na zastosowaniu dodatkowego pliku o dwóch polach dodawanego do systemu b.d. Pierwsze pole indeksu zawiera posortowana listę logicznych wartości kluczy. Drugie pole listę adresów bloków dalej wartości kluczy.Głowny problem polega na utrzymaniu odpowiedniego małego indeksu. Tak, aby mógł być przechowywany w pamięci głównej. Na indeksie wykonujemy przetwarzanie używając algorytmów, takiego jak wynik iwanie binarne.
W systemie b.d. z wieloma użytkownikami transakcji nazywamy procedury, które wprowadzaj aa zmiany do b. Danych lub, które wyszukują dane w b.d. Transakcje mogą być zdefiniowane jako logiczna jednostka pracy. Każda transakcja powinna mieć właściwości,niepodzielność, spójność, izolację i trwałość (czasami używamy skrót ACID)
-niepodzielność-skoro tansakcja składa się ze zbioru akcji menedżerem transakcji powinien zapewnić, że albo cała transakcja zostanie wykonana albo w ogóle nic
Spójność -wszystkie transakcje muszą zachowywać spójność i integralność b.d. Operacje wykonywane np. przez transakcje modyfikującą nie powinny pozostawiać b.d. W stanie niespójnym lub niepoprawnym
- izolacja-, jeżeli transakcje modyfikuje dwiema danymi to te dane mogą być tymczasowo niespójne. Takie dane musza być niedostępne dla innych transakcji dopóki transakcje nie zakończy ich używać. Menedżer transakcji musi dostarczyć iluzji ze dana transakcja działa w izolacji od innych transakcji
-trwałość-, gdy transakcja kończy się wówczas zmiany dokonywane przez nią powinny wartości w pełni utrwalone. Tzn. nawet w wypadku awarii sprzętu lub oprogramowania powinny one zostać zachowane.
Modele danych
Każda b.d. a także każdy SZBD muszą się stosować dla zasób określonego modelu danych. W literaturze b.d. Termin modelu danych używany jest w odniesieniu do architektury danych oraz zintegrowanego zbioru wymaganych w odniesieniu do danych. Model danych w sensie architektury danych jest zbiorem ogólnych zasad posługiwanych się danymi. Rozróżniamy trzy generacje architektoniczne modeli danych:
Proste modele danych- w tym podejściu obiekty są reprezentowane za pomocą struktury rekordów zgrupowanych w strukturze plików
Klasyczne modele danych- są to hierarchiczne,sieciowe i relacyjne modele danych.Hierarchiczny model danych jest rozszerzeniem opisanego wyżej modelu prostego natomiast sieciowy model danych jest następującą modelowi hierarchicznego oraz sieciowego
Sernantyczne modele danych - głównym problemem związanym z klasycznymi modelami danych jest to ze zachowują one podstawowa orientację opartą na rekordach. Semantyczne modele danych próbują dostarczyć bardziej znaczących sposobów reprezentowania znaczenia informacji, niż jest t możliwe przy modelach klasycznych. Przed wieloma względami obiektywny model danych może być uważny za semantyczny model danych
Rzeczy istne dla naszego OA to obiekty nazywane klasami
Klasa -studenci
-nazwisko
-imię
-adres
Klasa moduł
-liczba zapisanych studentów
Zintegrowane dane to formacje natomiast informacje te dane z przypisaną im schematyką(znaczenie)
Moduł zarządzania transakcjami
Transakcje
Moduł zarządzania dostępem do bazy danych
Schemat bazy danych
Baza danych
SZBD
System bazy danych
Stan spójny S1
Transakcja
Stan spójny S2
Czas
T1
T2
Procesor czasu rzeczywistego
Procesor zapytań
Programy użytkowe
katalog
Kompilator DML
Zapytanie użytkownika
Kompilator jezyka gospodarza
Uprzywilejowane instrukcje
Współbierzność ,kopie zapasowe odtwarzania
Komplilator DDL
Przechowywanie transakcji
prokompilacja
Bazy danych
Instrukcje DDL
Menedżer danych