Spójność bazy danych

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Co to jest spójność bazy danych?

Spójność bazy danych oznacza, że dane w bazie są poprawne, kompletne i zgodne z ustalonymi regułami. Baza spójna nie zawiera sprzecznych rekordów, uszkodzonych struktur ani naruszeń relacji między tabelami.

W kontekście kopii zapasowej spójność jest szczególnie ważna, ponieważ backup powinien umożliwiać późniejsze poprawne odtworzenie bazy. Jeśli wykonamy kopię bazy uszkodzonej lub niespójnej, po przywróceniu nadal otrzymamy bazę z tymi samymi problemami.

Co może naruszać spójność?

Do problemów ze spójnością należą m.in.:

  • rekordy odwołujące się do nieistniejących danych,
  • naruszenie kluczy głównych lub obcych,
  • niekompletne transakcje,
  • uszkodzone indeksy lub tabele,
  • błędy po awarii systemu lub serwera bazy danych.

Dlaczego sprawdza się spójność przed backupem?

Przed wykonaniem kopii zapasowej należy upewnić się, że baza jest w stanie nadającym się do odtworzenia. Backup niespójnej bazy może formalnie się wykonać, ale nie zagwarantuje poprawnego działania systemu po przywróceniu.

Dlatego w pytaniu egzaminacyjnym poprawna odpowiedź to spójność bazy, a nie np. składnia zapytań SQL czy możliwość udostępnienia bazy.

Przykłady kontroli spójności

W różnych systemach bazodanowych stosuje się różne narzędzia, np.:

  • w MySQL: sprawdzanie i naprawa tabel,
  • w MS SQL Server: polecenia typu DBCC CHECKDB,
  • kontrola integralności referencyjnej przez klucze obce.

Najważniejsza zasada: najpierw sprawdź, czy baza jest poprawna, dopiero potem wykonuj kopię zapasową.