Zasadnicza różnica między kluczem głównym a kluczem unikatowym polega na tym, że klucz podstawowy nie przyjmuje wartości NULL, natomiast wartości NULL są dozwolone w ramach ograniczeń klucza Unique.
Wykres porównania
Podstawa do porównania | Główny klucz | Unikalny klucz |
---|---|---|
Podstawowy | Jest używany jako unikalny identyfikator dla każdego wiersza w tabeli. | Wyjątkowo określa wiersz, który nie jest zdefiniowany jako klucz podstawowy. |
NULL akceptacja wartości | Klucz główny nie przyjmuje wartości NULL. | Unique przyjmuje wartość NULL. |
Liczba kluczy, które można zdefiniować w tabeli | Tylko jeden klucz podstawowy | Więcej niż jeden |
Indeks | Tworzy indeks klastrowany | Tworzy indeks nieklastrowy |
Definicja klucza głównego
Kolumna może być wywołana jako klucz podstawowy swojej tabeli, jeśli jednoznacznie identyfikuje każdą krotkę (wiersz) w tej tabeli. Wymusza ograniczenia integralności do tabeli. W tabeli dozwolony jest tylko jeden klucz podstawowy. Klucz podstawowy nie akceptuje wartości duplikatów i wartości NULL. Klucz podstawowy jest wybierany ostrożnie, gdy zmiany mogą występować w rzadkich przypadkach, co oznacza, że klucz podstawowy w tabeli zmienia się bardzo rzadko.
Rozumiem pojęcie klucza podstawowego za pomocą tabeli. Tutaj tworzymy tabelę o nazwie jako Tabela Ucznia, która ma atrybuty takie jak Numer Rolki, Nazwa, Wsadka, Numer telefonu, Identyfikator Citizen_ID.
Do klucza podstawowego można się odwoływać za pomocą klucza obcego. Tworzy unikalny indeks klastrowy w tabeli. W indeksie klastrowanym wiersze danych są sortowane i przechowywane w tabeli lub widokach na podstawie ich wartości klucza. W tabeli może znajdować się tylko jeden indeks klastrowany, a przyczyną jest to, że wiersze danych w tabeli można sortować tylko w jednej kolejności.
Definicja klucza unikalnego
Podobnie jak klucz podstawowy, ograniczenia klucza Unique również identyfikują pojedynczą krotkę w relacji. Ale są między nimi pewne różnice. Tabela może mieć więcej niż jeden unikalny klucz. Unikalne ograniczenia klucza mogą przyjmować tylko jedną wartość NULL dla kolumny.
Rozumiem to na podobnym przykładzie, w którym mieliśmy tabelę uczniów z numerami Roll_number, Name, Batch, Phone_number i Citizen_ID. Atrybut numeru rolki jest przypisany za pomocą klucza podstawowego.
Do unikalnych więzów odwołuje się również klucz obcy. Może być używany, gdy ktoś chce wymusić ograniczenia na kolumnie i grupie kolumn, która nie jest kluczem podstawowym. W przeciwieństwie do klucza podstawowego generuje indeks nieklastrowy . Indeksy nieklastrowe mają odrębną strukturę od wierszy danych. Każda pozycja klucz-wartość w nim wskazuje wiersz danych, który zawiera wartość klucza, dlatego używa wskaźników.
Kluczowe różnice między kluczem podstawowym a kluczem unikatowym
- Gdy atrybut zostanie zadeklarowany jako klucz podstawowy, nie zaakceptuje wartości NULL. Z drugiej strony, gdy atrybut jest zadeklarowany jako unikalny, może przyjąć jedną wartość NULL.
- Tabela może mieć tylko klucz podstawowy, podczas gdy w tabeli może być wiele unikalnych ograniczeń.
- Indeks klastrowany tworzony automatycznie po zdefiniowaniu klucza podstawowego. W przeciwieństwie do tego klucz unikatowy generuje indeks nieklastrowy.
Wniosek
Klucz podstawowy i klucz unikalny służą do unikatowego identyfikatora wierszy tabeli z unikalnymi wartościami w kolumnie lub grupie kolumn. Te kluczowe ograniczenia są znacznie zróżnicowane, gdy każda tabela może mieć najwyżej jeden klucz podstawowy, podczas gdy tabela może zawierać wiele unikalnych kluczy, które nie są podstawowymi.