Klucz obcy

Autor: John Stephens
Data Utworzenia: 24 Styczeń 2021
Data Aktualizacji: 1 Lipiec 2024
Anonim
#9. Создание связей между моделями через класс ForeignKey | Django уроки
Wideo: #9. Создание связей между моделями через класс ForeignKey | Django уроки

Zawartość

Definicja - Co oznacza klucz obcy?

Klucz obcy to kolumna lub grupa kolumn w tabeli relacyjnej bazy danych, która zapewnia łącze między danymi w dwóch tabelach. Działa jako odniesienie między tabelami, ponieważ odwołuje się do klucza podstawowego innej tabeli, tworząc w ten sposób połączenie między nimi.


Większość tabel w systemie relacyjnych baz danych jest zgodna z koncepcją klucza obcego. W złożonych bazach danych i hurtowniach danych dane w domenie należy dodawać do wielu tabel, utrzymując w ten sposób relacje między nimi. Pojęcie integralności referencyjnej wywodzi się z teorii klucza obcego.

Klucze obce i ich implementacja są bardziej złożone niż klucze podstawowe.

Wprowadzenie do Microsoft Azure i Microsoft Cloud | W tym przewodniku dowiesz się, na czym polega przetwarzanie w chmurze i jak Microsoft Azure może pomóc w migracji i prowadzeniu firmy z chmury.

Techopedia wyjaśnia klucz obcy

Dla każdej kolumny działającej jako klucz obcy odpowiednia wartość powinna istnieć w tabeli łączy. Należy zachować szczególną ostrożność podczas wstawiania danych i usuwania danych z kolumny klucza obcego, ponieważ nieostrożne usunięcie lub wstawienie może zniszczyć związek między dwiema tabelami.

Na przykład, jeśli istnieją dwie tabele, klient i zamówienie, można utworzyć relację między nimi poprzez wprowadzenie klucza obcego do tabeli zamówienia, który odnosi się do identyfikatora klienta w tabeli klientów. Kolumna ID klienta istnieje zarówno w tabelach klientów, jak i zamówień. Identyfikator klienta w tabeli zamówień staje się kluczem obcym, odnoszącym się do klucza podstawowego w tabeli klientów. Aby wstawić wpis do tabeli zamówień, ograniczenie klucza obcego musi być spełnione. Próba wprowadzenia identyfikatora klienta, który nie jest obecny w tabeli klientów, kończy się niepowodzeniem, utrzymując w ten sposób integralność referencyjną tabeli.


Niektóre działania referencyjne związane z działaniem klucza obcego obejmują:

  • Kaskada: po usunięciu wierszy w tabeli nadrzędnej usuwane są również pasujące kolumny klucza obcego w tabeli podrzędnej, co powoduje kaskadowe usunięcie.
  • Ustaw Null: Gdy wiersz odniesienia w tabeli nadrzędnej zostanie usunięty lub zaktualizowany, wartości klucza obcego w wierszu odniesienia są ustawione na null, aby zachować spójność referencyjną.
  • Wyzwalacze: działania referencyjne są zwykle realizowane jako wyzwalacze. Pod wieloma względami działania na kluczu obcym są podobne do wyzwalaczy zdefiniowanych przez użytkownika. Aby zapewnić prawidłowe wykonanie, uporządkowane akcje referencyjne są czasami zastępowane równoważnymi wyzwalaczami zdefiniowanymi przez użytkownika.
  • Ustaw domyślnie: ta akcja referencyjna jest podobna do „ustaw null”. Wartości klucza obcego w tabeli podrzędnej są ustawiane na domyślną wartość kolumny, gdy odnośny wiersz w tabeli nadrzędnej jest usuwany lub aktualizowany.
  • Ogranicz: Jest to normalna akcja referencyjna związana z kluczem obcym. Wartości w tabeli nadrzędnej nie można usunąć ani zaktualizować, o ile jest do niej odwoływany klucz obcy w innej tabeli.
  • Brak akcji: Ta akcja referencyjna jest podobna w działaniu do akcji „ogranicz”, z tą różnicą, że kontrola braku akcji jest wykonywana tylko po próbie zmiany tabeli.