EN - FR - DE - ES - IT - PT -

LexiconDream

🔗 Klucz obcy

Pole łączące rekordy z jednej tabeli z inną tabelą.

Klucz obcy

Klucz obcy łączy rekordy w jednej tabeli z rekordami w innej. Tabela zamówień zawiera pole customer_id. To pole jest kluczem obcym wskazującym na klucz podstawowy tabeli klientów. Połączenie gwarantuje, że każde zamówienie należy do rzeczywistego klienta. Bez niego zamówienia mogłyby odwoływać się do nieistniejących klientów. Baza danych wymusza tę relację.

Klucze obce robią więcej niż tylko dokumentują relacje. Wymuszają integralność referencyjną. Jeśli spróbujesz wstawić zamówienie z identyfikatorem klienta, który nie istnieje w tabeli „customer_id”, baza danych je odrzuci. Jeśli spróbujesz usunąć klienta, który ma zamówienia, baza danych albo zablokuje usunięcie, albo kaskadowo je przeniesie, w zależności od reguły. To wymuszanie zapobiega powstawaniu osieroconych rekordów i niespójnych danych. Klucze obce poprawiają również wydajność zapytań. Baza danych może wykorzystać relację do optymalizacji łączeń. Nie wszystkie bazy danych wymuszają klucze obce. Niektóre bazy danych NoSQL pozostawiają integralność referencyjną aplikacji. Daje to programistom większą elastyczność, ale także większą odpowiedzialność. Aplikacja musi zapewnić poprawność referencji. W przypadku awarii dane stają się niespójne. Klucze obce stanowią ograniczenie. Ograniczenia są niewygodne, dopóki nie zapobiegną katastrofie.

Reguły klucza obcego

Klucz obcy to łącze i gwarancja. Łącze łączy tabele. Gwarancja zapewnia ich spójność.

Comments

No comments yet. Be the first to share a thought.

Leave a comment