Pojęcie bazy danych. Funkcje i możliwości.

advertisement
Pojęcie bazy
danych.
Funkcje i
możliwości.
Pojęcie bazy danych
Baza danych to:
 zbiór informacji zapisanych według ściśle określonych reguł, w strukturach odpowiadających założonemu modelowi danych,
 zbiór danych opisujących wybrany fragment rzeczywistości,
 zbiór danych trwałych wykorzystywanych przez system aplikacji danej organizacji (banku, szpitala…).
Charakterystyczne cechy baz danych
Bazy danych charakteryzują się trzema podstawowymi cechami:
 trwałością danych:
czas życia mierzony w latach, dziesiątkach lat, istnienie danych niezależnie od działania aplikacji,
 rozmiarem wolumenu danych:
objętość danych jest zbyt wielka do ich przechowywania w pamięci operacyjnej, wymagany nośnik
zewnętrzny,
 złożonością danych:
złożona struktura i zależności pomiędzy danymi,
złożoność semantyczna, integralność danych.
Wymagania stawiane bazie danych
Bazie danych stawia się 6 głównych wymagań:
 zachowanie spójności danych,
 efektywne przetwarzanie danych,
 poprawne modelowanie świata rzeczywistego,
 autoryzowanie dostępu do danych,
 współbieżny dostęp do danych,
 metadane.
Spójność bazy danych
Spójność danych to poprawność danych z punktu widzenia przyjętych kryteriów, w szczególności trzech
podstawowych:
 wiernego odzwierciedlania danych rzeczywistych,
 spełniania nałożonych ograniczeń,
 braku anomalii wynikających ze współbieżnego dostępu do danych.
Wierne odzwierciedlenie danych
Wierne odzwierciedlenie danych rzeczywistych oznacza, że w bazie nie istnieją dane, które nie są cechą
rzeczywistych obiektów na temat których informacje
przechowywane są w bazie danych (np. baza danych o
klientach nie zawiera danych nieistniejącego w rzeczywistości klienta). Ponadto powiązania pomiędzy danymi w bazie danych odpowiadają powiązaniom pomiędzy rzeczywistymi obiektami.
Spełnianie nałożonych ograniczeń
Spełnianie nałożonych ograniczeń oznacza, że w bazie
danych wszystkie dane na które nałożono ograniczenia
te ograniczenia spełniają (np. jeżeli stawka VAT może
przyjmować wartości 0%, 8%, 23% to w bazie danych
nie pojawi się żadna inna wartość stawki VAT).
Anomalie współbieżnego dostępu
Baza danych umożliwiająca współbieżny dostęp do danych wielu użytkownikom musi posiadać mechanizmy
zapobiegające powstawaniu niepoprawnych danych w
przypadku modyfikacji tych samych danych jednocześnie przez dwóch lub więcej użytkowników. Musi także
posiadać mechanizmy zapobiegające utracie danych w
przypadku awarii sprzętowej lub programowej a także
w przypadku błędnego działania użytkownika.
Efektywne przetwarzanie danych
Baza danych powinna realizować efektywne metody
dostępu do danych (wstawiania, usuwania, modyfikacja i wyszukiwania danych). Powinna też przy pomocy
efektywnych struktur optymalizować metody dostępu
do danych. Fizyczna struktura przechowywania danych
powinna być odseparowana od sposobu dostępu użytkowników do danych.
Modelowanie świata rzeczywistego
Poprawne modelowanie świata rzeczywistego oznacza,
że struktura danych musi we właściwy (poprawny)
sposób odzwierciedlać obiekty rzeczywiste i ich
wzajemne powiązania.
Autoryzacja dostępu
Autoryzacja dostępu oznacza, że do bazy danych mają
dostęp tylko jej użytkownicy jednoznacznie zidentyfikowani i zautentykowani, zgodnie z jednoznacznie
przydzielonymi prawami dostępu do danych w bazie.
Współbieżny dostęp do danych
Współbieżny dostęp do danych oznacza umożliwienie
wielu użytkownikom jednoczesne przeglądanie i modyfikowanie tego samego zbioru danych oraz rozwiązywanie konfliktów typu odczyt-zapis i zapis-zapis
(przypadki gdy jedne użytkownik dokonuje zapisu danych a drugi w tym samym czasie dokonuje odczytu
lub zapisu tych samych danych.
Metadane
Metadane to dane na temat bazy danych, również
przechowywane w bazie danych opisujące dane przechowywane w bazie danych, struktury danych, użytkowników i ich uprawnienia.
Technologie baz danych
Na technologie związane z bazami danych składają się:
 fizyczne struktury danych i metody dostępu,
 przetwarzanie transakcyjne,
 modele danych,
 narzędzia programistyczne.
Fizyczne struktury danych i metody
dostępu




pliki, indeksy,
metody wyszukiwania, haszowania, łączenia,
sortowania, grupowania,
metody optymalizacji dostępu,
fizyczna niezależność danych.
Przetwarzanie transakcyjne




dostęp do bazy danych za pomocą transakcji o
właśnościach ACID:
 atomicity – atomowość,
 consistency – spójność,
 isolation – izolacja,
 durability – trwałość,
metody synchronizacji transakcji,
metody odtwarzania spójności,
metody odtwarzania po awarii.
Model danych
Model danych to zbiór zasad opisujących strukturę danych w bazie danych. Definiuje on sposób reprezentacji dozwolonych w modelu obiektów, ich związków oraz
dozwolonych na nich operacji. Wśród modeli danych
można wyróżnić modele:
 sieciowy,
 hierarchiczny,
 obiektowy,
 relacyjny.
Hierarchiczny model danych
W modelu hierarchicznym dane przechowywane są na
zasadzie rodzic-dziecko przypominając strukturą drzewo. Spójność danych zachowana jest, gdy:
 każda dana (z wyjątkiem pierwszej) ma tylko jednego rodzica,
 jeżeli dana może mieć dwóch rodziców to musi być
skopiowana jako dziecko każdego z rodziców,
 usunięcie danej powoduje usunięcie jej potomków.
Przykładem hierarchicznej struktury jest sposób przechowywania plików w folderach na dysku.
Sieciowy model danych
Rozszerzenie hierarchicznego modelu danych o możliwość definiowania relacji wiele-wiele w strukturze
drzewa bez konieczności powtarzania wartości danych.
Obiektowy model danych
Dane przechowywane są w strukturach obiektowych
zgodnie ze zdefiniowanymi w modelu klasami. Koncepcja obiektowej bazy danych pojawiła się w latach 90tych lecz nie zyskała szerszej popularności. Prace kontynuuje konsorcjum OMG (Object Management Group)
w skład którego wchodzą m. in. Apple i IBM.
Relacyjny model danych
Opiera się na matematycznej teorii mnogości, w
szczególności na pojęciu relacji reprezentowanym
przez tablice. Relacje są zbiorem rekordów (wierszy
tablic) o identycznej strukturze. Relacje powiązane są
między sobą związkami zachodzącymi między danymi.
Narzędzia programistyczne




języki aplikacji,
narzędzia modelowania i projektowania,
języki DML,
języki DDL.
System Zarządzania Bazą Danych
System Zarządzania Bazą Danych odpowiada za:
 administrowanie zbiorami danych
(sposób zapisu danych na dysku, mechanizmy kopii bezpieczeństwa…),
 zapewnienie integralności danych
(współdzielenie dostępu dodanych i ich modyfikacji…),
 udostępnienie danych
(języki programowania, API…),
 kontrolę dostępu do danych
(autoryzację użytkowników…).
Download