Bazy danych - Bezpieczeństwo i ochrona danych

1. Integralność to zapewnienie kompletności, poprawności i wiarygodności danych zgromadzonych w bazie.

2. System integralny dostarcza nam wiarygodne dane, musi więc być zabezpieczony przez nieautoryzowaną modyfikacją informacji.

3. Proces ochrony integralności obejmuje:
  • kontrolę danych wejściowych oraz synchronizację dostępu do danych
  • korektę danych, oraz cofanie i odtwarzanie stanu bazy z danego momentu
  • tworzenie kopii zapasowych, zapisów działania systemu
  • sprawdzenie poprawności zawartości bazy
4. Przykładowe czynniki powodujące utratę lub niedostępność danych:
  • błędy użytkowników
  • błędy w oprogramowaniu aplikacyjnym
  • awarię sieci
  • awarię zasilania
5. Integralność statyczna dotyczy poprawnie zaprojektowanego schematu bazy danych, a także spełnienia ograniczeń nałożonych przez wartości atrybutów opisujących obiekty w bazie. Źródłem naruszenia są błędy logiczne w danych i niepoprawnie skonstruowany schemat bazy. Możemy ją podzielić na semantyczną, encji i referencyjną

6. Integralność semantyczna ma na celu zabezpieczenie danych przed celową lub przypadkową błędną modyfikacją danych. 

Utracić tego typu integralność można przez:
  • niewłaściwą wartość pola danych
  • niezgodność między wartościami pól tej samej jednostki danych
  • niespójności między polem jednostki, a polem jednostki połączonej 
  • obecność pustych pól, nieważnych wartości
7. Wyzwalacze to procedury uruchamiane automatycznie przez system przy zajściu jakiegoś zdarzenia dotyczącego danego obiektu. Kontrolują one poprawność wprowadzanych lub przetwarzanych danych do postaci akceptowalnej przez użytkownika.

8. Procedury składowane są mechanizmem zabezpieczającym integralność danych. Wywoływane są one przez aplikację klienta, który podaję nazwę i parametry - wywołując procedurę. 

9. Integralność encji zapewnia się na etapie definiowania schematu bazy danych. Tablice są powiązane ze sobą kluczami obcymi. 

10. Integralność referencyjna określa stany w jakich może znajdować się wartość klucza obcego w danej tabeli. Każda wartość klucza obcego jest równa jakiejś wartości klucza głównego w powiązanej tabeli nadrzędnej lub jako wartość NULL. 

11. Integralność transakcyjna to ciąg operacji wykonywanych na danych w bazie. Transakcja między rozpoczęciem, a zakończeniem znajduje się w jednym z pięciu stanów: aktywna, częściowo zatwierdzona, zatwierdzona, nieudana, odrzucona. Transakcja może zakończyć się powodzeniem, lub niepowodzeniem. 

Cechy transakcji:
  • niepodzielna
  • spójna
  • musi być izolacja
  • dane muszą być trwałe