Bazy danych używają tabel do uporządkowania zawartych w nich informacji. Są podobne do arkuszy kalkulacyjnych, takich jak Excel, ale są znacznie bardziej zaawansowane dla zaawansowanych użytkowników. Funkcje baz danych wykorzystują klucze podstawowe i klucze obce, które utrzymują relacje między tabelami.
Integralność referencyjna to funkcja bazy danych w relacyjnych systemach zarządzania bazami danych. Gwarantuje, że relacje między tabelami w bazie danych pozostają dokładne, stosując ograniczenia, aby uniemożliwić użytkownikom lub aplikacjom wprowadzanie niedokładnych danych lub wskazywanie danych, które nie istnieją.
Główny klucz
Klucz podstawowy tabeli bazy danych jest unikalnym identyfikatorem przypisanym do każdego rekordu. Każda tabela ma jedną lub więcej kolumn oznaczonych jako klucz podstawowy. Numer ubezpieczenia społecznego może być kluczem podstawowym dla listy pracowników, ponieważ każdy numer ubezpieczenia społecznego jest unikalny.
Jednak ze względu na obawy związane z prywatnością, przypisany numer identyfikacyjny firmy jest lepszym wyborem do funkcjonowania jako klucz podstawowy dla pracowników. Niektóre programy bazodanowe, takie jak Microsoft Access, automatycznie przypisują klucz podstawowy, ale losowy klucz nie ma prawdziwego znaczenia. Lepiej jest użyć klucza o znaczeniu do zapisu.
Najprostszym sposobem na egzekwowanie więzów integralności nie jest umożliwienie zmiany klucza podstawowego.
Klucz obcy
Klucz obcy to identyfikator w tabeli, który jest zgodny z kluczem podstawowym innej tabeli. Klucz obcy tworzy relację z inną tabelą. Integralność referencyjna odnosi się do relacji między tymi tabelami.
Gdy jedna tabela ma klucz obcy do innej tabeli, pojęcie integralności referencyjnej stwierdza, że nie można dodać rekordu do tabeli zawierającej klucz obcy, chyba że istnieje odpowiedni rekord w połączonej tabeli. Obejmuje również techniki znane jako aktualizacja kaskadowa i usuwanie kaskadowe, które zapewniają, że zmiany dokonane w połączonej tabeli są odzwierciedlane w tabeli podstawowej.
Przykład Referencyjnych Reguł Uczciwości
Weźmy na przykład sytuację, w której masz dwie tabele: Pracownicy i Menedżerowie. Tabela Pracownicy ma atrybut klucza obcego o nazwie ManagedBy, który wskazuje rekord dla menedżera każdego pracownika w tabeli Menedżerów. Wzajemna integralność wymusza następujące trzy reguły:
- Nie można dodać rekordu do tabeli Pracownicy, chyba że atrybut ManagedBy wskazuje na prawidłowy rekord w tabeli Menedżer. Wzajemna integralność zapobiega wstawianiu nieprawidłowych detali do tabeli. Każda operacja, która nie spełnia referencyjnej reguły integralności, nie powiedzie się.
- Jeśli klucz podstawowy dla rekordu w tabeli Menedżery ulegnie zmianie, wszystkie odpowiednie rekordy w tabeli Pracownicy zostaną zmodyfikowane przy użyciu aktualizacji kaskadowej.
- Jeśli rekord w tabeli Menedżer zostanie usunięty, wszystkie odpowiednie rekordy w tabeli Pracownicy zostaną usunięte przy użyciu usuwania kaskadowego.
Zalety więzów integralności referencyjnej
Korzystanie z relacyjnego systemu zarządzania bazami danych z integralnością referencyjną oferuje szereg korzyści:
- Zapobiega wprowadzaniu duplikatów danych
- Zapobiega wskazaniu jednej tabeli na nieistniejące pole w innej tabeli
- Gwarantuje zgodność między tabelami "partnerskimi"
- Zapobiega usunięciu rekordu zawierającego wartość, do której odnosi się klucz obcy w innej tabeli
- Zapobiega dodawaniu rekordu do tabeli zawierającej klucz obcy, chyba że w połączonej tabeli znajduje się klucz podstawowy




