Klucze w MySQL to kolumna lub zestaw kolumn używany do konstruowania relacji między jedną lub więcej niż dwiema tabelami. Służą także do uzyskiwania dostępu do rekordów z tabeli. Obydwa klucze zapewniają gwarantowaną niepowtarzalność kolumny lub zestawu kolumn w tabeli lub relacji. Główna różnica między nimi polega na tym, że klucz podstawowy identyfikuje każdy rekord w tabeli, a klucz unikalny zapobiega duplikowaniu wpisów w kolumnie z wyjątkiem wartości NULL . W tym artykule porównamy istotne różnice między kluczem podstawowym a kluczem unikalnym w oparciu o różne parametry. Przed dokonaniem porównania omówimy pokrótce te klucze.
wół kontra byk
Co to jest klucz podstawowy?
Kluczem podstawowym jest a unikalny lub inny niż null klucz, który jednoznacznie identyfikuje każdy rekord w tej tabeli lub relacji. Kolumna klucza podstawowego nie może przechowywać zduplikowanych wartości, co oznacza, że wartości kolumny klucza podstawowego są zawsze unikalne. Nazywa się to również A minimalny super klucz ; dlatego nie możemy określić więcej niż jednego klucza podstawowego w żadnej relacji. Do kolumny klucza podstawowego jednej tabeli może odwoływać się kolumna klucza obcego innej tabeli.
Na przykład , mamy tabelę o nazwie studenci z atrybutami takimi jak Stud_ID, Roll_No, Name, Mobile i Email.
Tutaj tylko Nr rolki kolumna nigdy nie może zawierać identycznej wartości NULL. Wiemy, że każdy uczeń ma unikalny numer na liście. Dlatego dwóch uczniów nie może mieć tego samego numeru na liście. Ta funkcja pomaga w jednoznacznej identyfikacji każdego rekordu w bazie danych. Dlatego możemy uczynić atrybut Roll_No kluczem podstawowym.
Funkcje klucza podstawowego
Poniżej przedstawiono podstawowe funkcje klucza podstawowego:
przycinanie JavaScriptu
- Kolumna klucza podstawowego nie może zawierać zduplikowanych wartości.
- Klucz podstawowy implementuje integralność jednostki tabeli.
- Tabela nie może zawierać więcej niż jednej kolumny klucza podstawowego.
- Klucz podstawowy możemy utworzyć z jednego lub większej liczby pól tabeli.
- Kolumna klucza podstawowego powinna mieć ograniczenia NOT NULL.
Co to jest klucz unikalny?
The unikalny klucz to pojedyncza kolumna lub kombinacja kolumn w tabeli służąca do jednoznacznej identyfikacji rekordów bazy danych. Unikalny klucz zapobiega od przechowywania zduplikowane wartości w kolumnie. W przeciwieństwie do kolumny klucza podstawowego tabela może zawierać wiele unikalnych kolumn kluczowych. Klucz ten jest podobny do klucza podstawowego, z tą różnicą, że w kolumnie klucza unikalnego można zapisać jedną wartość NULL. Klucz unikalny jest również nazywany unikalne ograniczenia i może odwoływać się do klucza obcego innej tabeli.
Na przykład , rozważmy tę samą tabelę o nazwie studenci z atrybutami takimi jak Stud_ID, Roll_No, Name, Mobile i Email.
Tutaj Stud_ID można przypisać jako unikalne ograniczenie, ponieważ każdy uczeń musi mieć unikalny numer identyfikacyjny. Jeśli student zmieni uczelnię, nie będzie miał legitymacji studenckiej. W takim przypadku wpis może zawierać ZERO wartość, ponieważ unikalne ograniczenie klucza pozwala na przechowywanie wartości NULL, ale powinno być tylko jedno.
Funkcje unikalnego klucza
Poniżej przedstawiono najważniejsze, unikalne i kluczowe funkcje:
- Możemy skonstruować unikalny klucz z jednego lub większej liczby pól tabeli.
- Tabela może definiować wiele unikalnych kolumn kluczowych.
- Domyślnie unikalny klucz znajduje się w nieklastrowanych unikalnych indeksach.
- Kolumna z ograniczeniem unikalnym może przechowywać wartość NULL, ale tylko jedna wartość NULL może mieć wartość null na kolumnę.
- Klucz obcy może odwoływać się do ograniczenia unikalności w zachowaniu niepowtarzalności tabeli.
Kluczowe różnice między kluczem podstawowym a kluczem unikalnym
Poniższe punkty wyjaśniają kluczowe różnice między kluczami podstawowymi i kandydującymi:
- Klucz podstawowy może stanowić jedno lub więcej pól tabeli w celu jednoznacznej identyfikacji rekordów w tabeli. Z drugiej strony unikalny klucz zapobiega duplikowaniu wpisów w kolumnie w dwóch wierszach.
- Tabela nie może mieć więcej niż jednego klucza podstawowego w relacyjnej bazie danych, natomiast na każdą tabelę może przypadać wiele unikalnych kluczy.
- Kolumna klucza podstawowego nie może zawierać wartości NULL, podczas gdy klucz unikalny może mieć wartości NULL, ale w tabeli dozwolony jest tylko jeden NULL.
- Klucz podstawowy powinien być unikalny, ale klucz unikalny nie musi koniecznie być kluczem podstawowym.
- Domyślnym kluczem podstawowym jest indeks klastrowy, w którym dane są fizycznie zorganizowane w indeksie sekwencyjnym. Natomiast klucz unikalny jest unikalnym indeksem nieklastrowym.
- Klucz podstawowy implementuje integralność jednostki, podczas gdy klucz unikalny wymusza unikalne dane.
Tabela porównawcza klucza podstawowego i klucza unikalnego
Poniższa tabela porównawcza wyjaśnia w szybki sposób ich główne różnice:
architektura Linuksa
Podstawa porównania | Główny klucz | Unikalny klucz |
---|---|---|
Podstawowy | Klucz podstawowy służy jako unikalny identyfikator każdego rekordu w tabeli. | Unikalny klucz jest także unikalnym identyfikatorem rekordów, gdy klucz podstawowy nie występuje w tabeli. |
ZERO | Nie możemy przechowywać wartości NULL w kolumnie klucza podstawowego. | Możemy przechowywać wartość NULL w unikalnej kolumnie klucza, ale dozwolona jest tylko jedna wartość NULL. |
Zamiar | Wymusza integralność jednostki. | Wymusza unikalne dane. |
Indeks | Klucz podstawowy domyślnie tworzy indeks klastrowy. | Domyślnie klucz unikalny tworzy indeks nieklastrowany. |
Liczba kluczy | Każda tabela obsługuje tylko jeden klucz podstawowy. | Tabela może mieć więcej niż jeden unikalny klucz. |
Modyfikacja wartości | Nie możemy zmienić ani usunąć wartości klucza podstawowego. | Możemy modyfikować unikalne wartości kolumn kluczowych. |
Używa | Służy do identyfikacji każdego rekordu w tabeli. | Zapobiega przechowywaniu zduplikowanych wpisów w kolumnie, z wyjątkiem wartości NULL. |
Składnia | Możemy utworzyć kolumnę klucza podstawowego w tabeli, korzystając z poniższej składni:CREATE TABLE Employee ( Id INT PRIMARY KEY, name VARCHAR(150), address VARCHAR(250) ) | Możemy utworzyć unikalną kolumnę kluczową w tabeli, korzystając z poniższej składni:CREATE TABLE Person ( Id INT UNIQUE, name VARCHAR(150), address VARCHAR(250) ) |
Wniosek
W tym artykule dokonaliśmy porównania ograniczeń klucza podstawowego i klucza unikalnego. Tutaj doszliśmy do wniosku, że unikalny klucz jest przydatny, gdy chcemy, aby kolumny nie zawierały zduplikowanych wartości. A klucz podstawowy jest przydatny, gdy nie chcemy zachować w tabeli wartości NULL. Może to być również idealne rozwiązanie, gdy mamy klucz obcy w innej tabeli, aby utworzyć relację między tabelami.