Co to jest integralność podmiotu?

Integralność jednostek jest jedną z podstawowych zasad efektywnej konstrukcji bazy danych. Odnosi się do procesu wymuszania klucza podstawowego dla każdej tabeli w bazie danych, gdzie klucz musi być wierszem lub kombinacją wierszy, które są unikalnymi wartościami innymi niż null. Zachowując integralność jednostki, każdy rekord w każdej tabeli bazy danych może być konkretnie zidentyfikowany za pomocą klucza podstawowego. Zapobiega to duplikowaniu 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ę nakładać, ponieważ nie będzie możliwości wyciągnięcia konkretnego wpisu z tabeli.

Rozważając pierwszą część integralności jednostki, „unikalną” wartość, ważne jest zrozumienie pojęcia klucza podstawowego. Klucz podstawowy w bazie danych to wartość używana do szczegółowej identyfikacji każdego pojedynczego rekordu. Aby był skuteczny, klucz podstawowy musi być unikalny; innymi słowy, musi okazać się niemożliwe pobranie wielu rekordów przez wyszukiwanie pojedynczego klucza podstawowego. Numer ubezpieczenia społecznego byłby dobrym kluczem podstawowym do bazy danych skupiającej się na indywidualnych danych osobowych w USA, ponieważ dwie osoby nigdy nie mają tego samego numeru. Każdy, kto szuka w bazie danych konkretnego numeru PESEL, z definicji pobierałby jednocześnie tylko jeden wpis.

Aby zobaczyć problemy, które pojawiają się w przypadku braku integralności jednostki za pomocą unikalnych kluczy podstawowych, można sobie wyobrazić bazę danych, w której jako klucz podstawowy używane jest nazwisko osoby. Ponieważ więcej niż jedna osoba może dzielić nazwisko, wpisanie „Kowalski” lub „Jones” jako kryterium wyszukiwania może dać dziesiątki rekordów. W takim przypadku integralność bazy danych staje pod znakiem zapytania, ponieważ użytkownik końcowy nie ma już możliwości pobierania poszczególnych rekordów.

Druga część integralności jednostki stanowi, że wartość wybrana jako klucz podstawowy nigdy nie może być wartością null lub pustą dla żadnego elementu w bazie danych. Jeśli wartość klucza podstawowego pozostanie null dla co najmniej jednego rekordu w bazie danych, niektóre rekordy stałyby się niemożliwe do pobrania, ponieważ wartość null jest niewystarczająca do jednoznacznej identyfikacji tych rekordów. Innymi słowy, jeśli numer PESEL zostanie użyty jako klucz podstawowy, a pracownik nie pochodzi z USA i tym samym go nie posiada, dane pracownika z zagranicy będą niemożliwe do zidentyfikowania za pomocą klucza podstawowego, co podważy integralność bazy danych .