A Klucz kandydata jest częścią klucza zwanego Super klucz ( omówione w poprzedniej sekcji ), gdzie superklucz to superzbiór wszystkich atrybutów, które mogą jednoznacznie identyfikować tabelę.
Tutaj będziemy omawiać klucz kandydujący, jego rolę, a także jego zastosowanie. Przyjrzymy się także kilku przykładom, które pozwolą nam lepiej zrozumieć koncepcję klucza kandydującego.
pierwsze wyszukiwanie w głębi algorytmu
Co to jest klucz kandydata
Klucz kandydujący to podzbiór superzestawu kluczy, w którym kluczem niezawierającym zbędnego atrybutu jest nikt inny jak a Klucz kandydata . Aby wybrać klucze kandydujące ze zbioru superkluczy, musimy przyjrzeć się zestawowi superkluczy.
Rola klucza kandydata
Rolą klucza kandydującego jest jednoznaczna identyfikacja wiersza lub kolumny tabeli. Ponadto wartość klucza kandydującego nie może mieć wartości Null. Według ekspertów opis klucza kandydującego „nie zawiera zbędnych atrybutów” i stanowi „minimalną reprezentację krotki”.
Czym klucz kandydujący różni się od klucza podstawowego
Chociaż cel zarówno kandydata, jak i klucza podstawowego jest taki sam, czyli jednoznaczna identyfikacja krotek, to także one się od siebie różnią. Dzieje się tak dlatego, że w tabeli możemy mieć jeden lub więcej kluczy kandydujących, ale możemy utworzyć tylko jeden klucz podstawowy dla tabeli. Zatem na podstawie liczby uzyskanych kluczy kandydujących możemy zidentyfikować odpowiedni klucz podstawowy. Jeśli jednak w tabeli znajduje się tylko jeden klucz kandydujący, można go uwzględnić w przypadku obu kluczowych ograniczeń.
Przykład klucza kandydata
Spójrzmy na ten sam przykład, który został wzięty podczas omawiania Super Klucza, aby zrozumieć działanie klucza kandydującego.
0,06 jako ułamek
Mamy PRACOWNIK_DETAIL tabela, w której mamy następujące atrybuty:
Em_SSN: W tym polu przechowywany jest numer SSN.
Emp_Id: Atrybut przechowujący wartość numeru identyfikacyjnego pracownika.
ciąg do int Java
Nazwa_emplu: Atrybut przechowujący nazwisko pracownika posiadającego określony identyfikator pracownika.
Em_email: Atrybut przechowujący identyfikator e-mail określonych pracowników.
The PRACOWNIK_DETAIL poniżej znajduje się tabela, która pomoże Ci lepiej zrozumieć:
Zatem z powyższej tabeli uzyskaliśmy podane poniżej super klucze (omówione w poprzedniej sekcji):
Teraz na podstawie tych zestawów superkluczy możemy wywnioskować klucze kandydujące. Aby znaleźć klucze kandydujące, najlepszym sposobem jest jak najdokładniejsza analiza i utworzenie kluczy podstawowych. Musimy więc zidentyfikować te zestawy spośród zestawów superkluczy, które jako jedyne mogą zidentyfikować całą tabelę lub możemy powiedzieć inne atrybuty tabeli. Zatem wynik jest następujący:
Oto trzy uzyskane atrybuty, które pozwalają zidentyfikować inne, inne niż pierwsze atrybuty tabeli. Wszystko to są klucze kandydujące, z których możemy wybrać najodpowiedniejszy atrybut, który pozwoli łatwo zidentyfikować wszystkie rekordy tabeli, co zostanie opisane jako klucz podstawowy.
Różnica między kluczem kandydata a kluczem super
Z powyższych dyskusji możemy mieć następujące różnice:
Java ma wartość zerową
Super klucz | Klucz kandydata |
---|---|
Jest to nadzbiór wszystkich takich atrybutów, które mogą jednoznacznie identyfikować tabelę. | Jest to podzbiór lub część klawisza Super. |
Nie jest wcale obowiązkowe, aby wszystkie superklucze były kluczami kandydującymi. | Z drugiej strony wszystkie klucze kandydujące są superkluczami. |
Atrybut superklucza może mieć wartość NULL, co oznacza, że jego wartości mogą mieć wartość null. | Atrybut przechowujący klucz kandydujący nigdy nie może mieć wartości NULL, co oznacza, że jego wartości nie mogą mieć wartości null. |
Wszystkie superklucze uformowane razem, aby zapewnić klucze kandydujące. | Podobnie klucze kandydujące są łączone w celu utworzenia kluczy podstawowych. |
Liczba utworzonych super kluczy jest zawsze widoczna więcej. | Tutaj klucze kandydujące są mniejsze niż super klucze. |
Zatem superklucz jest superzbiorem, klucz kandydujący jest podzbiorem, a klucz podstawowy jest podzbiorem superklucza.