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 podstawowy | Klucz 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 -
- WebLogic vs WebSphere
- ROLAP vs MOLAP vs HOLAP
- GoCD vs Jenkins
- Finansowanie dłużne a kapitałowe