Co to jest integralność referencyjna i jak programista może uniknąć tych problemów?
Reguła integralności referencyjnej
Zasadniczo integralność referencyjna mówi, że baza danych nie może mieć niesparowanych wartości klucza obcego. Klucz zewnętrzny to kolumna w tabeli bazy danych, która ma wartości znajdujące się w kolumnie klucza podstawowego, unikalny identyfikator identyfikujący wiersz w tabeli, w innej tabeli. Rozważmy na przykład tabelę bazy danych o nazwie "dział", w której jako klucz podstawowy znajduje się kolumna o nazwie "numer departamentu". Jest powiązany z inną tabelą o nazwie "pracownik", gdzie "numer departamentu" jest kluczem zewnętrznym. Pracownik nie może należeć do określonego działu, jeśli odpowiadający mu "numer działu" jeszcze nie istnieje w tabeli "działu". Jeśli program dodający pracowników wzmacnia więzy integralności, żadna próba wstawienia pracownika do nieznanego działu nie będzie możliwa.
Zalety
Oprócz zapewnienia, że te odniesienia między danymi są nienaruszone i ważne, zdefiniowanie referencyjnej integralności bazy danych ma wiele zalet. Integralność referencyjna wykorzystuje istniejący kod w silniku baz danych, zamiast prosić programistów o napisanie od początku niestandardowego kodu programu. W rezultacie rozwój programów jest szybszy, mniej podatny na błędy i spójny wśród kilku programów użytkowych, które uzyskują dostęp do bazy danych.
Konsekwencje
Niestety, języki programowania często nie mają mechanizmów, aby stosować integralność referencyjną, a nawet jeśli system zarządzania bazami danych obsługuje te mechanizmy, programiści nie używają tych mechanizmów. Konsekwencją zignorowania integralności referencyjnej jest to, że programuje kod, który ma defekty, błędy, usterki i jest trudny do przedłużenia.
Aplikacja
Programiści mogą stosować integralność referencyjną i unikać wpisów "osieroconych" w bazie danych, włączając ją w relację między dwiema tabelami. W programie Microsoft Access na przykład stosowanie integralności referencyjnej oznacza, że każda operacja, która ją narusza, jest odrzucana. Te typy operacji obejmują aktualizacje bazy danych, które zmieniają obiekt odwołania lub usunięcia, które usuwają obiekt odniesienia. Ponadto Microsoft Access ma również zestaw opcji, znanych jako opcje "kaskadowe". Te opcje umożliwiają propagowanie referencyjnych i usuniętych aktualizacji przez bazę danych, tak aby wszystkie powiązane wiersze zmieniały się w ten sam sposób.