Klucz podstawowy i klucz unikalny są unikatowymi kluczami w relacyjnej bazie danych, które gwarantują unikatowość wartości w kolumnie lub zestawie kolumn. W ramach ograniczenia klucza podstawowego istnieje już wstępnie zdefiniowane unikalne ograniczenie klucza. Podczas gdy klucz podstawowy jest szczególnie używany do identyfikacji każdego rekordu w tabeli, z drugiej strony klucz unikalny służy do zapobiegania powielaniu wpisów w kolumnie, z wyjątkiem wpisu zerowego. Oba klucze mogą jednak zawierać więcej niż jedną kolumnę z danej tabeli i oba odgrywają kluczową rolę w przechowywaniu i wyszukiwaniu danych. Dane są serią tabel z kolumnami i kolumny te przechowują informacje wszystkich typów, do których można uzyskać dostęp lub uzyskać je za pomocą instrukcji. To tutaj pojawiają się klucze. Klucz podstawowy i klucz unikatowy to dwa klucze unikatowe, które określają sposób przechowywania danych w systemie.
Klucz podstawowy (dotyczy także słowa kluczowego podstawowego), jest unikalnym kluczem w relacyjnej bazie danych, który identyfikuje każdy rekord w tabeli bazy danych. Jest to swego rodzaju unikalny identyfikator, taki jak osobisty numer ubezpieczenia społecznego, numer telefonu, numer prawa jazdy lub numer rejestracyjny pojazdu. Baza danych musi mieć tylko jeden klucz podstawowy.
Tabela w bazie danych zawiera kolumnę lub zestaw kolumn, które zawierają wartości, które jednoznacznie identyfikują każdy wiersz w tabeli. Ta kolumna lub zestaw kolumn nazywany jest kluczem podstawowym tabeli, która musi zawierać unikalne wartości i nie może zawierać wartości pustych. Bez klucza podstawowego relacyjna baza danych nie będzie działać.
Klucz podstawowy jest tworzony przez zdefiniowanie ograniczenia PRIMARY KEY podczas tworzenia lub modyfikowania tabeli. W standardzie SQL klucz podstawowy może zawierać jedną lub wiele kolumn, podczas gdy każda kolumna jest domyślnie zdefiniowana jako NOT NULL. Jeśli zdefiniujesz ograniczenie KLUCZ PODSTAWOWY w więcej niż jednej kolumnie, może to skutkować duplikacją wartości w jednej kolumnie, dlatego każda kombinacja wartości musi być unikalna dla wszystkich kolumn.
Unikalny klucz to zestaw jednej lub więcej kolumn / pól tabeli, które jednoznacznie identyfikują rekord w tabeli bazy danych. Ograniczenie UNIQUE KEY zapewnia, że wszystkie wartości w kolumnie są unikalne w bazie danych. Podobnie jak klucz podstawowy, unikalny klucz może również składać się z więcej niż jednej kolumny. Jednak unikalny klucz może zaakceptować tylko jedną wartość zerową. Żadne dwa wiersze nie mają takich samych wartości w tabeli bazy danych.
Unikalny klucz jest dość podobny do klucza podstawowego i można go zdefiniować podczas tworzenia tabeli. Gdy kolumna lub zestaw kolumn jest oznaczony jako unikalny w systemie relacyjnej bazy danych, sprawdza integralność wartości przed przypisaniem ograniczenia, aby zapobiec temu, aby dwa rekordy miały identyczne wartości w określonej kolumnie.
UNIQUE jest ograniczeniem w kolumnie PRIMARY KEY, która charakteryzuje następujące elementy:
Klucz podstawowy jest swego rodzaju unikalnym identyfikatorem klucza, który jednoznacznie identyfikuje wiersz w tabeli bazy danych, podczas gdy unikalny klucz identyfikuje wszystkie możliwe wiersze, które istnieją w tabeli, a nie tylko aktualnie istniejące wiersze.
Klucz podstawowy służy do identyfikowania rekordu w tabeli bazy danych, a klucz unikalny służy do zapobiegania duplikowaniu wartości w kolumnie, z wyjątkiem wpisu pustego.
Klucz podstawowy domyślnie tworzy klastrowany unikalny indeks, podczas gdy unikalny klucz jest domyślnie unikalnym nieklastrowanym indeksem w tabeli bazy danych.
Klucz podstawowy nie może zaakceptować wartości NULL w tabeli bazy danych, podczas gdy klucz unikalny może zaakceptować tylko jedną wartość NULL w tabeli.
W tabeli może znajdować się tylko jeden klucz podstawowy, jednak w systemie bazy danych może istnieć wiele unikatowych kluczy.
Klucz podstawowy | Unikalny klucz |
Klucz podstawowy służy do jednoznacznej identyfikacji rekordu / wiersza w tabeli bazy danych. | Unikalny klucz służy do jednoznacznej identyfikacji wszystkich możliwych wierszy w tabeli, a nie tylko obecnie istniejących wierszy. |
Nie akceptuje wartości NULL. | Może zaakceptować tylko jedną wartość NULL w tabeli. |
Domyślnie jest to indeks klastrowany, co oznacza, że dane są zorganizowane w sekwencję indeksów klastrowych. | Domyślnie jest to unikalny indeks nieklastrowany. |
W tabeli może znajdować się tylko jeden klucz podstawowy. | Tabela może mieć wiele unikalnych kluczy. |
Klucz podstawowy jest definiowany przy użyciu ograniczenia klucza podstawowego. | Unikalny klucz jest reprezentowany przy użyciu ograniczenia UNIKALNEGO. |
Służy do identyfikowania wiersza w tabeli. | Służy do zapobiegania powielaniu wartości w kolumnie. |
Wartości klucza podstawowego nie można zmienić ani usunąć. | Unikalne wartości kluczy można modyfikować. |