Różnica między kluczem obcym a kluczem podstawowym

The kluczowa różnica jest między kluczem obcym a kluczem podstawowym klucz obcy to kolumna lub zestaw kolumn, które odnoszą się do klucza głównego lub klucza kandydującego innej tabeli, natomiast klucz podstawowy to kolumna lub zestaw kolumn, których można użyć do jednoznacznej identyfikacji wiersza w tabeli.

Kolumna lub zestaw kolumn, których można użyć do identyfikacji lub uzyskania dostępu do wiersza lub zestawu wierszy w bazie danych, nazywa się kluczem. Klucz podstawowy w relacyjnej bazie danych to kombinacja kolumn w tabeli, które jednoznacznie identyfikują wiersz tabeli. Klucz obcy w relacyjnej bazie danych to pole w tabeli, które pasuje do klucza podstawowego innej tabeli. Klucz obcy służy do przechodzenia do tabel referencyjnych.

ZAWARTOŚĆ

1. Przegląd i kluczowa różnica
2. Co to jest klucz obcy
3. Co to jest klucz podstawowy
4. Porównanie obok siebie - Klucz obcy i klucz podstawowy w formie tabeli
5. Podsumowanie

Co to jest klucz obcy??

Klucz obcy jest ograniczeniem referencyjnym między dwiema tabelami. Identyfikuje kolumnę lub zestaw kolumn w jednej tabeli, zwaną tabelą odniesienia, która odwołuje się do zestawu kolumn w innej tabeli, zwanej tabelą odniesienia. Klucz obcy lub kolumny w tabeli referencyjnej muszą być kluczem podstawowym lub kluczem kandydującym (kluczem, który może być użyty jako klucz podstawowy) w tabeli referencyjnej. Ponadto klucze obce umożliwiają łączenie danych w kilku tabelach. Dlatego klucz obcy nie może zawierać wartości, które nie pojawiają się w tabeli, do której się odnosi. Następnie odniesienie dostarczone przez klucz obcy pomaga połączyć informacje w kilku tabelach, co stałoby się niezbędne w przypadku znormalizowanych baz danych. Wiele wierszy w tabeli odniesienia może odnosić się do jednego wiersza w tabeli odniesienia.

Rysunek 01: Mapowanie klucza obcego

W standardzie ANSI SQL ograniczenie klucza OBCEGO definiuje klucze obce. Ponadto możliwe jest zdefiniowanie kluczy obcych podczas tworzenia samej tabeli. Tabela może mieć wiele kluczy obcych i mogą odnosić się do różnych tabel.

Co to jest klucz podstawowy?

Klucz podstawowy to kolumna lub kombinacja kolumn, która jednoznacznie definiuje wiersz w tabeli relacyjnej bazy danych. Tabela może mieć maksymalnie jeden klucz podstawowy. Klucz podstawowy wymusza niejawne ograniczenie NOT NULL. Dlatego kolumna z kluczem podstawowym nie może mieć wartości NULL. Klucz podstawowy może być normalnym atrybutem w tabeli, który gwarantuje unikalność, takim jak numer ubezpieczenia społecznego, lub może być unikalną wartością generowaną przez system zarządzania bazą danych, taki jak globalnie unikalny identyfikator (GUID) w Microsoft SQL Server.

Rysunek 02: Klucz podstawowy

Co więcej, ograniczenie PRIMARY KEY w ANSI SQL Standard definiuje klucze podstawowe. Możliwe jest również zdefiniowanie klucza podstawowego podczas tworzenia tabeli. Ponadto SQL pozwala na utworzenie klucza podstawowego z jednej lub więcej kolumn, a każda kolumna zawarta w kluczu podstawowym jest domyślnie zdefiniowana jako NIE NULL. Ale niektóre systemy zarządzania bazami danych wymagają jawnego, aby kolumny klucza podstawowego NIE były NULL.

Jaka jest różnica między kluczem obcym a kluczem podstawowym?

 Klucz obcy vs klucz podstawowy

Klucz obcy to kolumna lub grupa kolumn w tabeli relacyjnej bazy danych, która zapewnia powiązanie między danymi w dwóch tabelach. Klucz podstawowy to specjalna relacyjna kolumna tabeli bazy danych lub kombinacja wielu kolumn, która pozwala jednoznacznie zidentyfikować wszystkie rekordy tabeli.
ZERO
Klucz obcy przyjmuje wartość NULL. Wartość klucza podstawowego nie może mieć wartości NULL.
Liczba kluczy
Tabela może mieć wiele kluczy obcych. Tabela może mieć tylko jeden klucz podstawowy.
  Powielanie
Krotki mogą mieć zduplikowaną wartość dla atrybutu klucza obcego. Dwie krotki w relacji nie mogą mieć zduplikowanych wartości dla atrybutu klucza podstawowego.

Podsumowanie - klucz obcy vs klucz podstawowy

Różnica między kluczem obcym a kluczem podstawowym polega na tym, że klucz obcy jest kolumną lub zestawem kolumn, które odnoszą się do klucza podstawowego lub klucza kandydującego innej tabeli, podczas gdy klucz podstawowy to kolumna lub zestaw kolumn, których można użyć w unikalny sposób zidentyfikować wiersz w tabeli.

Odniesienie:

1. „Klucz obcy”. Wikipedia, Wikimedia Foundation, 12 maja 2018 r. Dostępne tutaj  
2. „Klucz podstawowy”. Wikipedia, Wikimedia Foundation, 3 kwietnia 2018. Dostępne tutaj 

Zdjęcie dzięki uprzejmości:

1.'Mapowanie kluczy zagranicznych 'MovGP0 - Praca własna (CC BY-SA 3.0) przez Commons Wikimedia  
2.'Erd-id-as-primary-key 'Przez UniCollab - Praca własna (CC BY-SA 3.0) przez Commons Wikimedia