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ą.