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

W systemie zarządzania relacyjnymi bazami danych (RDBMS) dane są przechowywane w tabelach. Ponieważ w tabelach przechowywana jest ogromna ilość danych, zawsze istnieje możliwość, że dane mogą zostać niezorganizowane lub zawierać duplikaty. Również wtedy, gdy musimy pobrać dane zgodnie z naszymi wymaganiami z tych ogromnych danych, zadanie staje się trudne. Pojęcie klucza jest używane w RDBMS do identyfikacji rekordów w tabeli na podstawie tysięcy wierszy danych. Ponadto użycie klucza pomaga w ustaleniu relacji między tabelami, dzięki czemu dane można odwoływać z różnych tabel. Zatem klucz w systemie zarządzania relacyjnymi bazami danych zachowuje integralność na poziomie tabeli, a także spójność referencyjną. W tym artykule szczegółowo zbadamy różnicę między kluczem podstawowym a kluczem obcym.

Klucz podstawowy w tabeli jednoznacznie identyfikuje rekordy, a klucz obcy odnosi się do klucza podstawowego innej tabeli. Weźmy przykład dwóch tabel: Tabele pracowników i wynagrodzeń, aby zrozumieć pojęcia klucza podstawowego i klucza obcego. Jeśli tabela pracowników ma klucz podstawowy jako identyfikator_pracownika, wówczas kolumna identyfikator_pracownika musi znajdować się w tabeli wynagrodzeń, ponieważ musi istnieć relacja między tymi dwiema tabelami poprzez posiadanie klucza obcego w tabeli wynagrodzeń, który może odnosić się do klucza podstawowego tabela pracowników.

Bezpośrednie porównanie między kluczem podstawowym a kluczem obcym (infografiki)

Poniżej znajduje się 6 najważniejszych różnic między kluczem podstawowym a kluczem obcym:

Kluczowe różnice między kluczem podstawowym a kluczem obcym

Omówmy niektóre z głównych różnic między kluczem podstawowym a kluczem obcym:

  • Klucz podstawowy jednoznacznie identyfikuje rekordy w tabeli, natomiast klucz obcy służy do łączenia tabel, tzn. Odnosi się do klucza podstawowego innej tabeli.
  • Kolumna Klucz podstawowy w tabeli nie może mieć wartości Null i zawsze powinna mieć unikalne wartości. Ale klucz obcy w tabeli może zawierać wartości Null, a także może mieć zduplikowane wartości.
  • Tabela może mieć tylko jeden klucz podstawowy, podczas gdy dla tabeli może być więcej niż jeden klucz obcy.
  • Indeks jest tworzony automatycznie dla klucza podstawowego, podczas gdy dla klucza obcego indeksy nie są tworzone automatycznie.
  • Łatwo jest usunąć ograniczenie klucza obcego, chociaż odnosi się ono do klucza podstawowego. Ale usunięcie ograniczenia klucza głównego może tworzyć rekordy z rekordami potomnymi bez rekordu macierzystego.

Tabela porównawcza klucza podstawowego a klucza obcego

Poniższa tabela podsumowuje porównania między kluczem podstawowym a kluczem obcym:

Klucz podstawowyKlucz obcy
Klucz podstawowy tabeli w RDBMS może być pojedynczą kolumną lub może składać się z więcej niż jednej kolumny, która jest używana do jednoznacznej identyfikacji każdego wiersza w tabeli. W przypadku klucza podstawowego składającego się z więcej niż jednej kolumny dane z każdej kolumny służą do decydowania o unikatowości wiersza. Tabela w RDMBS może mieć tylko jeden klucz podstawowy.Klucz obcy może być pojedynczą kolumną lub może składać się z więcej niż jednej kolumny w tabeli, która jest używana w odniesieniu do klucza głównego innej tabeli. Klucza obcego można użyć do połączenia tabel w RDBMS. W przeciwieństwie do atrybutu klucza podstawowego tabela w RDBMS może mieć więcej niż jeden klucz obcy.
Istnieje kilka warunków, które powinny być spełnione, aby kolumna była kluczem podstawowym w tabeli. Jednym z warunków jest to, że klucz podstawowy powinien zawierać unikalną wartość dla każdego rekordu. Dlatego tabela w RDBMS nie może mieć zduplikowanych wartości dla dwóch wierszy dla atrybutu Klucz podstawowy.W przeciwieństwie do klucza podstawowego tabeli w RDBMS, klucz obcy może zawierać zduplikowane wartości. Umożliwia to posiadanie zduplikowanych wartości dla wierszy tabeli dla atrybutu klucza obcego.
Innym warunkiem kolumny spełniającej kryteria klucza podstawowego jest to, że nie powinna ona zawierać wartości Null.Ale klucz obcy tabeli w RDBMS może zawierać wartości Null.
Klucz podstawowy jest określany podczas definiowania tabeli i definiowanie klucza podstawowego jest obowiązkowe.W przeciwieństwie do klucza podstawowego, nie ma określonej definicji tabeli oznaczającej klucz jako klucz obcy.
Nie można usunąć ograniczenia klucza podstawowego z tabeli nadrzędnej, do której odwołuje się klucz obcy tabeli podrzędnej. Dlatego tabelę podrzędną należy usunąć przed usunięciem tabeli nadrzędnej.Ale jeśli musimy usunąć ograniczenie klucza obcego w tabeli, można je usunąć z tabeli podrzędnej, nawet jeśli odnosi się do klucza podstawowego tabeli nadrzędnej.

Klucz podstawowy jest indeksowany automatycznie, tzn. Klucz podstawowy jest przechowywany w indeksie dla tabeli, a ten indeks pomaga w zarządzaniu wymogiem unikalności i dlatego wartości klucza obcego można łatwo odnieść do odpowiednich wartości klucza głównego.W przypadku klucza obcego indeksy nie są tworzone automatycznie i zwykle administrator bazy danych je definiuje.

Wniosek

Klucze podstawowe i obce nie tylko implementują różne typy integralności, ale także tworzą relacje między tabelami. Klucze podstawowe i obce zapewniają również, że kolumny utworzone dla relacji muszą zawierać pasujące wartości, a unikalne rekordy są przechowywane w tabeli. System zarządzania relacyjnymi bazami danych działa skutecznie ze względu na obecność klucza podstawowego i klucza obcego.

Ograniczenie klucza podstawowego pomaga w automatycznym stosowaniu integralności danych, ponieważ zapobiega wstawianiu lub aktualizacji duplikatu wiersza danych. Zastosowanie ograniczeń klucza zapobiega także usuwaniu wiersza z tabeli kluczy podstawowych z tabeli nadrzędnej, dzięki czemu nie są tworzone takie rekordy podrzędne, dla których nie ma rekordu nadrzędnego. Również gdy wiersz odnoszący się do klucza podstawowego zostanie usunięty lub zaktualizowany w tabeli nadrzędnej, integralność referencyjna jest utrzymywana przez klucz obcy. Klucze odgrywają istotną rolę w ustanawianiu łączy między tabelami bazy danych, a także w obrębie tabeli.

Polecane artykuły

Jest to przewodnik po kluczu podstawowym a kluczu obcym. Tutaj omawiamy różnice między kluczem podstawowym a kluczem obcym za pomocą infografiki i tabeli porównawczej. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. WebLogic vs WebSphere
  2. ROLAP vs MOLAP vs HOLAP
  3. GoCD vs Jenkins
  4. Finansowanie dłużne a kapitałowe