Zalecane, 2019

Wybór Redakcji

Różnica między kluczem podstawowym a kluczem kandydującym

Klucze są atrybutem lub zbiorem atrybutów używanych do uzyskiwania dostępu do krotek z tabeli lub są również używane do budowania relacji między dwiema tabelami. W tym artykule omówimy klucz podstawowy i kandydacki oraz różnice między nimi. Zarówno klucz podstawowy, jak i klucz kandydata jednoznacznie identyfikują krotkę w relacji lub tabeli. Ale najważniejszą kwestią, która je różnicuje, jest to, że może istnieć tylko jeden klucz podstawowy w relacji. Jednak może istnieć więcej niż jeden klucz kandydata w relacji.

Istnieje więcej różnic między kluczem podstawowym a kluczem kandydującym, które omówię za pomocą poniższej tabeli porównawczej.

Wykres porównania

Podstawa do porównaniaGłówny kluczKlucz kandydata
PodstawowyW każdej relacji może znajdować się tylko jeden klucz podstawowy.W relacji może znajdować się więcej niż jeden klucz kandydata.
ZEROŻaden atrybut klucza podstawowego nie może zawierać wartości NULL.Atrybut klucza Kandydata może mieć wartość NULL.
SprecyzowaćOpcjonalne jest określenie klucza podstawowego dla dowolnej relacji.Nie może istnieć relacja bez określonego klucza kandydującego.
CechaKlucz podstawowy opisuje najważniejszy atrybut relacji.Klucze kandydatów przedstawiają kandydatów, którzy kwalifikują się do Klucza podstawowego.
NawzajemKlucz podstawowy to klucz kandydujący.Ale nie jest obowiązkowe, aby każdy klucz kandydujący mógł być kluczem podstawowym.

Definicja klucza głównego

Klucz podstawowy jest atrybutem lub zbiorem atrybutów, które jednoznacznie identyfikują każdą krotkę w relacji. Może istnieć tylko jeden klucz podstawowy dla każdej relacji. Należy zadbać o to, aby klucz podstawowy nigdy nie zawierał wartości NULL i musi mieć unikalną wartość dla każdej krotki w relacji. Wartości atrybutu / kluczy klucza podstawowego muszą być statyczne, tzn. Wartość atrybutu nigdy nie powinna być zmieniana lub rzadko.

Jeden z kluczy Kandydata zostaje zakwalifikowany, aby stać się kluczem podstawowym. Reguły, które klucz kandydujący musi kwalifikować się, aby stać się podstawowymi, oznaczają, że kluczowa wartość nigdy nie powinna mieć wartości NULL i musi być unikalna dla wszystkich krotek.

Jeśli relacja zawiera atrybut będący kluczem podstawowym innej relacji, wówczas ten atrybut jest nazywany kluczem obcym .

Zaleca się wykrycie klucza podstawowego relacji przed wprowadzeniem innych atrybutów relacji, ponieważ klucz podstawowy jednoznacznie identyfikuje każdą krotkę. Lepiej jest wybrać pojedynczy atrybut lub niewielką liczbę atrybutów jako klucz podstawowy, który ułatwia obsługę relacji.

Teraz zobaczmy przykład klucza podstawowego.

 Uczeń {ID, pierwsza nazwa, ostatnia nazwa, wiek, adres} 

Tutaj najpierw poznamy klucze kandydatów. Wymyśliłem dwa kandydujące klucze {ID} i {First_name, Last_name}, ponieważ będą one jednoznacznie identyfikować każdego ucznia w relacji Studenta. Teraz tutaj wybiorę ID jako mój klucz podstawowy, ponieważ czasami może się zdarzyć, że dwoje uczniów może mieć takie same imiona i nazwiska, więc łatwo będzie prześledzić ucznia z jego identyfikatorem .

Definicja klucza kandydata

Klucz kandydujący to atrybut lub zestaw atrybutów jednoznacznie definiujący krotkę w relacji. W relacji może być więcej niż jeden klucz kandydata. Te klucze Kandydata są kandydatami, które mogą zostać uznane za klucz podstawowy.

Chociaż każdy klucz kandydujący kwalifikuje się do roli klucza podstawowego, tylko jeden może zostać wybrany jako klucz podstawowy. Reguły, których klucz kandydujący wymaga, aby stały się kluczem podstawowym, to wartość atrybutu klucza nigdy nie może mieć wartości NULL w żadnej domenie klucza, musi być unikalna i statyczna .

Jeśli wszystkie klucze kandydujące kwalifikują się do klucza podstawowego, to doświadczony administrator DBA musi podjąć decyzję, aby znaleźć klucz podstawowy. Nigdy nie może być związku bez klucza kandydującego.

Rozumiemy klucz kandydujący na przykładzie. Jeśli dodamy więcej atrybutów do relacji Uczeń, omówiłem to powyżej.

 Student {ID, imię, nazwisko, wiek, adres, data urodzenia, nazwa wydziału} 

Tutaj mogę znaleźć dwa klucze kandydujące: {ID}, {First_name, Last_name, DOB} . Można więc zrozumieć, że klucze kandydujące to takie, które jednoznacznie identyfikują krotkę w relacji.

Kluczowe różnice między kluczem podstawowym a kluczem kandydującym

  1. Podstawową kwestią odróżniającą klucz podstawowy od klucza kandydującego jest to, że może istnieć tylko jedna podstawowa dla dowolnej relacji w schemacie. Jednak może istnieć wiele kluczy kandydatów dla pojedynczej relacji.
  2. Atrybut pod kluczem podstawowym nigdy nie może zawierać wartości NULL, ponieważ główną funkcją klucza podstawowego jest jednoznaczna identyfikacja rekordu w relacji. Nawet klucz podstawowy może być użyty jako klucz obcy w innej relacji, a zatem nie może mieć wartości NULL, aby relacja relacji mogła znaleźć krotki w relacji referencyjnej. Klucz kandydujący może mieć wartość NULL, chyba że ograniczenie atrybutu jest określone jako nie puste.
  3. Opcjonalne jest określenie klucza podstawowego, ale nie może istnieć relacja bez kluczy kandydujących.
  4. Klucz podstawowy opisuje unikalny i najważniejszy atrybut relacji, podczas gdy klucze kandydujące zapewniają kandydatów, spośród których można wybrać jako klucz podstawowy.
  5. Każdy klucz podstawowy jest kluczem kandydującym, ale na odwrót nie jest prawdą.

Wniosek:

Opcjonalnie dla relacji można określić klucz podstawowy. Z drugiej strony, jeśli deklarujesz relację, klucze kandydatów muszą być obecne w tej relacji, aby zbudować dobrą relację.

Top