Czym jest integralność jednostki?
Integralność jednostki jest jedną z podstawowych zasad skutecznej budowy bazy danych. Odnosi się do procesu wymuszania klucza podstawowego dla każdej tabeli w bazie danych, gdzie kluczem musi być wiersz lub kombinacja wierszy, które są unikatowymi wartościami niepustymi. Utrzymując integralność encji, każdy rekord w każdej tabeli bazy danych można konkretnie zidentyfikować za pomocą klucza podstawowego. Zapobiega to powielaniu rekordów i innym problemom, które pośrednio zagrażałyby integralności bazy danych. W przypadku braku integralności encji wpisy w bazie danych mogą przypadkowo się pokrywać, ponieważ nie będzie sposobu na pobranie określonego wpisu z tabeli.
Rozważając pierwszą część integralności bytu, „unikalną” wartość, należy zrozumieć pojęcie klucza podstawowego. Klucz podstawowy w bazie danych to wartość używana do konkretnej identyfikacji każdego pojedynczego rekordu. Aby był skuteczny, klucz podstawowy musi być unikalny; innymi słowy, musi być niemożliwe uzyskanie wielu rekordów przez wyszukanie jednego klucza głównego. Numer ubezpieczenia społecznego byłby dobrym kluczem podstawowym dla bazy danych skoncentrowanej na indywidualnych danych osobowych w USA, ponieważ dwie osoby nigdy nie mają tego samego numeru. Każdy, kto szuka w bazie danych określonego numeru ubezpieczenia społecznego, z definicji pobierałby tylko jeden rekord na raz.
Aby zobaczyć problemy, które pojawiają się przy braku integralności jednostki poprzez unikalne klucze podstawowe, można wyobrazić sobie bazę danych, w której nazwisko osoby jest używane jako klucz podstawowy. Ponieważ więcej niż jedna osoba może udostępnić nazwisko, wpisanie „Smith” lub „Jones” jako kryteriów wyszukiwania może spowodować powstanie dziesiątek rekordów. Jeśli tak się stanie, kwestionowana jest integralność bazy danych, ponieważ użytkownik końcowy nie ma już metody pobierania poszczególnych rekordów.
Druga część integralności jednostki stanowi, że wartość wybrana jako klucz podstawowy nigdy nie może być wartością zerową ani pustą dla żadnego elementu w bazie danych. Jeśli wartość klucza podstawowego pozostanie null dla jednego lub więcej rekordów w bazie danych, niektóre rekordy staną się niemożliwe do odzyskania, ponieważ wartość null jest niewystarczająca do jednoznacznej identyfikacji tych rekordów. Innymi słowy, jeśli numer Ubezpieczenia Społecznego zostanie użyty jako klucz podstawowy, a pracownik nie pochodzi z USA, a zatem nie ma takiego numeru, zapis pracownika zagranicznego będzie niemożliwy do zidentyfikowania za pomocą klucza podstawowego, co unieważni integralność bazy danych .