Zalecane, 2024

Wybór Redakcji

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

Przeanalizowaliśmy już różne typy kluczy używanych w bazie danych i schemacie w poprzednich artykułach, a mianowicie różnicę między kluczem podstawowym a kluczem obcym. W tym artykule rozróżniamy klucz podstawowy i klucz unikalny. Zarówno klucz podstawowy, jak i klucz unikalny są używane do jednoznacznego identyfikowania krotki i wymuszania unikalności w kolumnie lub kombinacji kolumny.

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ównaniaGłówny kluczUnikalny klucz
PodstawowyJest 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ściKlucz główny nie przyjmuje wartości NULL.Unique przyjmuje wartość NULL.
Liczba kluczy, które można zdefiniować w tabeliTylko jeden klucz podstawowyWięcej niż jeden
IndeksTworzy indeks klastrowanyTworzy 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.

W podanym przykładzie atrybut roll number nigdy nie może mieć identycznej wartości NULL, ponieważ każdy student zapisał się na uniwersytet z unikalnym numerem Roll_. Żaden z dwóch studentów nie może mieć tego samego numeru pozycji, a każdy wiersz w tabeli jest jednoznacznie identyfikowany za pomocą numeru rolki uczniów. Tak więc możemy w tym konkretnym przypadku utworzyć atrybut Roll_number jako klucz podstawowy.

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.

Tutaj Citizen_ID można przypisać z unikalnymi ograniczeniami, gdzie każdy wpis w kolumnie Citizen_ID powinien być niepowtarzalny, a nie duplikowany, ponieważ każdy obywatel danego kraju musi mieć swój Unikalny numer identyfikacyjny. Jeśli jednak student wyemigruje z innego kraju, w takim przypadku nie będzie miał identyfikatora Citizen_ID, a wpis może mieć wartość NULL, ponieważ dozwolona jest jedna NULL w unikalnym ograniczeniu.

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

  1. 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.
  2. Tabela może mieć tylko klucz podstawowy, podczas gdy w tabeli może być wiele unikalnych ograniczeń.
  3. 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.

Top