Czym jest integralność danych?
Integralnością danych (ang. data integrity) nazywamy ogólną kompletność, dokładność i spójność danych przez cały ich cykl życia.
Zapewnienie integralności danych oznacza wdrożenie mechanizmów, które chronią informacje w użyciu, w tranzycie i w spoczynku przed zmianami przez nieautoryzowany program lub osobę.
Ważnym celem jest również bezpieczeństwo, czyli zapewnienie, że po odtworzeniu danych po zakłóceniu, można im w pełni zaufać.
Integralność danych odgrywa kluczową rolę w ciągłości biznesowej i odzyskiwaniu informacji po awarii. Jest ona egzekwowana zarówno na poziomie fizycznym, jak i logicznym.
Inicjatywy dotyczące integralności fizycznej chronią dane przed szkodliwymi czynnikami zewnętrznymi, takimi jak przerwy w zasilaniu czy awarie sprzętu. Natomiast inicjatywy dotyczące integralności logicznej dbają o poprawność i dostępność informacji w czasie rzeczywistym.
Do najczęstszych przyczyn naruszenia integralności danych należą: błędy formatowania, błędy składni, malware, ataki ransomware i inne złośliwe działania. Migracja danych także może stanowić wyzwanie dla utrzymania integralności, ponieważ dane muszą być przenoszone bez utraty ich pierwotnego stanu.
Koncepcja integralności danych ma zastosowanie w wielu sektorach gospodarki. Przykładowo, w branży farmaceutycznej stanowi istotny element kontroli jakości leków.
Techopedia wyjaśnia pojęcie „integralność danych”
Z integralnością danych związany jest szereg pojęć, które są kluczowe dla zrozumienia, jak dane są chronione i zarządzane. Poniżej znajduje się lista najważniejszych terminów związanych z integralnością danych:
- Zapis statyczny i dynamiczny (ang. static vs dynamic records) odnoszą się do dokumentów stałych, np. w formie papierowej, ale także do wzajemnych interakcji, jakie występują w treści każdego zapisu danych.
- Ścieżka audytu to wykaz najważniejszych informacji, który pozwala na odtworzenie całej historii danych.
- System validation to sprzęt komputerowy i dyski zewnętrzne.
Integralność danych jest egzekwowana zarówno w hierarchicznych, jak i relacyjnych modelach baz danych.
Najczęściej jest narzucana podczas fazy projektowania bazy danych poprzez stosowanie standardowych procedur i zasad. Utrzymuje się ją dzięki różnym metodom sprawdzania błędów i procedurom walidacyjnym.
W relacyjnej strukturze bazy danych stosuje się trzy główne ograniczenia w celu osiągnięcia integralności danych:
Integralność podmiotów
Integralność podmiotów dotyczy koncepcji kluczy podstawowych i zapewnia, że żadne dane nie są zbędne, a żadne pola nie są puste. Na przykład, każda tabela musi mieć swój własny klucz podstawowy, który jest unikalny i nie może być pusty.
Integralność referencyjna
Integralność referencyjna odnosi się do procedur i zasad, które zapewniają spójność danych.
To koncepcja kluczy obcych – mówi, że wartość klucza obcego może być w jednym z dwóch stanów: odnosić się do wartości klucza podstawowego innej tabeli albo być pusta. Pusta wartość może oznaczać brak relacji lub relację nieznaną.
Integralność domeny
Integralność domeny to zbiór zasad i procedur, które zapewniają, że wszystkie elementy danych dotyczą właściwych domen. Na przykład, jeśli użytkownik wpisze datę urodzenia w polu adresu ulicy, system wyświetli komunikat o błędzie i uniemożliwi wypełnienie tego pola błędnymi informacjami.
Koncepcja integralności danych zapewnia, że wszystkie dane w bazie mogą być śledzone i połączone z innymi danymi. Dzięki temu wszystko jest możliwe do odzyskania i wyszukiwania.
Posiadanie jednego, dobrze zdefiniowanego i kontrolowanego systemu integralności danych zwiększa stabilność, wydajność oraz możliwość ponownego wykorzystania i utrzymania informacji.
Jeśli jednej z tych funkcji nie można zaimplementować w bazie danych, musi być to zrealizowane poprzez oprogramowanie.
Najlepsze praktyki, takie jak planowanie regularnych kopii zapasowych (backup data), ograniczanie uprawnień dostępu do wrażliwych zestawów danych oraz śledzenie zmian za pomocą dzienników, zazwyczaj pomagają w ochronie integralności danych.