logo

Rodzaje kluczy w modelu relacyjnym (kandydat, super, podstawowy, alternatywny i zagraniczny)

Klucze są jednym z podstawowych wymagań modelu relacyjnej bazy danych. Jest szeroko stosowany do jednoznacznej identyfikacji krotek (wierszy) w tabeli. Klawiszy używamy także do konfigurowania relacji pomiędzy różnymi kolumnami i tabelami relacyjnej bazy danych.

Różne typy kluczy baz danych

  • Klucz kandydata
  • Główny klucz
  • Super klucz
  • Klucz alternatywny
  • Klucz obcy
  • Klucz kompozytowy

Klucz kandydata

Minimalny zestaw atrybutów, który może jednoznacznie zidentyfikować krotkę, nazywany jest kluczem kandydującym. Na przykład STUD_NO w relacji STUDENT.



  • To minimalny super klucz.
  • Jest to superklucz bez powtarzających się danych, nazywany kluczem kandydującym.
  • Minimalny zestaw atrybutów, który może jednoznacznie zidentyfikować rekord.
  • Musi zawierać unikalne wartości.
  • Może zawierać wartości NULL.
  • Każda tabela musi mieć co najmniej jeden klucz kandydujący.
  • Tabela może mieć wiele kluczy kandydujących, ale tylko jeden klucz podstawowy.
  • Wartość klucza kandydata jest unikalna i może mieć wartość null w przypadku krotki.
  • W relacji może istnieć więcej niż jeden klucz kandydujący.

Przykład:

pokrój Javę
 STUD_NO is the candidate key for relation STUDENT.>

Stół STUDENT

STUD_NO PSTRYKNĄĆ ADRES TELEFON
1 Shyam Delhi 123456789
2 Rakesh Kalkuta 223365796
3 Suraj Delhi 175468965
  • Klucz kandydujący może być prosty (posiadający tylko jeden atrybut) lub również złożony.

Przykład:



 {STUD_NO, COURSE_NO} is a composite   candidate key for relation STUDENT_COURSE.>

Tabela STUDENT_COURSE

STUD_NO NAUCZYCIEL_NIE KURS_NIE
1 001 C001
2 056 C005

Notatka: W SQL Serwer unikalne ograniczenie, które ma kolumnę dopuszczającą wartość null, pozwala wartość ' zero „w tej kolumnie tylko raz . Dlatego atrybut STUD_PHONE jest tutaj kandydatem, ale nie może mieć wartości „null” w atrybucie klucza podstawowego.

Główny klucz

Może istnieć więcej niż jeden klucz kandydujący, z którego można wybrać jeden jako klucz podstawowy. Na przykład STUD_NO i STUD_PHONE są kluczami kandydującymi do relacji STUDENT, ale STUD_NO można wybrać jako główny klucz (tylko jeden z wielu kluczy kandydujących).



  • To unikalny klucz.
  • Może zidentyfikować tylko jedną krotkę (rekord) na raz.
  • Nie ma zduplikowanych wartości, ma unikalne wartości.
  • Nie może mieć wartości NULL.
  • Klucze podstawowe niekoniecznie muszą być pojedynczą kolumną; więcej niż jedna kolumna może być również kluczem podstawowym tabeli.

Przykład:

STUDENT table ->Student(STUD_NO, SNAME, ADRES, TELEFON), STUD_NO to klucz podstawowy>

Stół STUDENT

testowanie i typy oprogramowania
STUD_NO PSTRYKNĄĆ ADRES TELEFON
1 Shyam Delhi 123456789
2 Rakesh Kalkuta 223365796
3 Suraj Delhi 175468965

Super klucz

Zestaw atrybutów, które mogą jednoznacznie zidentyfikować krotkę, nazywany jest super kluczem. Na przykład STUD_NO, (STUD_NO, STUD_NAME) itp. Super klucz to grupa pojedynczych lub wielu kluczy identyfikujących wiersze w tabeli. Obsługuje wartości NULL.

  • Dodanie zera lub więcej atrybutów do klucza kandydującego generuje superklucz.
  • Klucz kandydujący jest superkluczem, ale odwrotnie, nie jest to prawdą.
  • Wartości superklucza mogą również mieć wartość NULL.

Przykład:

Consider the table shown above. STUD_NO+PHONE is a super key  .>
Związek pomiędzy kluczem podstawowym, kluczem kandydującym i kluczem super

Relacja pomiędzy kluczem podstawowym, kluczem kandydującym i kluczem super

Klucz alternatywny

Klucz kandydujący inny niż klucz podstawowy nazywany jest kluczem klucz alternatywny .

  • Wszystkie klucze, które nie są kluczami podstawowymi, nazywane są kluczami alternatywnymi.
  • Jest to klucz wtórny.
  • Zawiera dwa lub więcej pól identyfikujących dwa lub więcej rekordów.
  • Wartości te się powtarzają.
  • Np.: - SNAME i ADDRESS to klucze alternatywne

Przykład:

Consider the table shown above. STUD_NO, as well as PHONE both,  are candidate keys for relation STUDENT but  PHONE will be an alternate key  (only one out of many candidate keys).>
Klucz podstawowy, klucz kandydujący i klucz alternatywny

Klucz podstawowy, klucz kandydujący i klucz alternatywny

Klucz obcy

Jeśli atrybut może przyjmować tylko wartości, które są obecne jako wartości innego atrybutu, będzie to a klucz obcy do atrybutu, do którego się odnosi. Relacja, do której się odwołujemy, nazywana jest relacją referencyjną, a odpowiadający jej atrybut nazywany jest atrybutem referencyjnym. Odwoływany atrybut relacji, do której się odwołujemy, powinien być jej kluczem podstawowym.

  • Jest to klucz, który pełni rolę klucza podstawowego w jednej tabeli i jako taki pełni funkcję
    klucz dodatkowy w innej tabeli.
  • Łączy jednocześnie dwie lub więcej relacji (tabel).
  • Stanowią one odnośnik pomiędzy tabelami.
  • Na przykład DNO jest kluczem podstawowym w tabeli DEPT i kluczem niebędącym kluczem w EMP

Przykład:

 Refer Table STUDENT shown above.  STUD_NO in STUDENT_COURSE is a   foreign key to STUD_NO in STUDENT relation.>

Tabela STUDENT_COURSE

STUD_NO NAUCZYCIEL_NIE KURS_NIE
1 005 C001
2 056 C005

Warto zauważyć, że w przeciwieństwie do klucza podstawowego dowolnej relacji, klucz obcy może mieć wartość NULL, a także może zawierać zduplikowane krotki, tj. nie musi przestrzegać ograniczenia niepowtarzalności. Na przykład STUD_NO w relacji STUDENT_COURSE nie jest unikalne. Powtórzono to dla pierwszej i trzeciej krotki. Jednakże STUD_NO w relacji STUDENT jest kluczem podstawowym i musi być zawsze unikalny i nie może mieć wartości null.

zablokować aplikację na Androida
Relacja pomiędzy kluczem podstawowym a kluczem obcym

Relacja pomiędzy kluczem podstawowym a kluczem obcym

Klucz kompozytowy

Czasami tabela może nie mieć pojedynczej kolumny/atrybutu, który jednoznacznie identyfikuje wszystkie rekordy tabeli. Aby jednoznacznie zidentyfikować wiersze tabeli, można zastosować kombinację dwóch lub więcej kolumn/atrybutów. W rzadkich przypadkach nadal może dawać zduplikowane wartości. Musimy więc znaleźć optymalny zestaw atrybutów, który będzie w stanie jednoznacznie zidentyfikować wiersze w tabeli.

  • Działa jako klucz podstawowy, jeśli w tabeli nie ma klucza podstawowego
  • Aby utworzyć a., używane są razem dwa lub więcej atrybutów klucz złożony .
  • Różne kombinacje atrybutów mogą dawać różną dokładność w zakresie jednoznacznej identyfikacji wierszy.

Przykład:

FULLNAME + DOB can be combined  together to access the details of a student.>
Różne typy kluczy

Różne typy kluczy

Wniosek

Podsumowując, model relacyjny wykorzystuje wiele kluczy: klucze kandydujące pozwalają na odrębną identyfikację, klucz podstawowy służy jako wybrany identyfikator, klucze alternatywne oferują inne możliwości, a klucze obce tworzą istotne powiązania, które gwarantują integralność danych między tabelami. Tworzenie silnych i efektywnych relacyjnych baz danych wymaga przemyślanego zastosowania tych kluczy.

hostowanie Linuksa

Często zadawane pytania dotyczące typów kluczy w modelu relacyjnym

P.1: Dlaczego klucze są potrzebne w systemie DBMS?

Odpowiedź:

Klucze są jednym z ważnych aspektów DBMS. Klucze pomagają nam znaleźć krotki (wiersze) w tabeli. Służy również do rozwijania różnych relacji między kolumnami lub tabelami bazy danych.

P.2: Co to jest unikalny klucz?

Odpowiedź:

Klucze unikalne to klucze, które jednoznacznie definiują rekord w tabeli. Różni się od kluczy podstawowych, ponieważ klucz unikalny może zawierać jedną wartość NULL, ale klucz podstawowy nie zawiera żadnych wartości NULL.

P.3: Co to jest sztuczny klucz?

Odpowiedź:

Klucze sztuczne to klucze używane, gdy żaden atrybut nie zawiera wszystkich właściwości klucza podstawowego lub jeśli klucz podstawowy jest bardzo duży i złożony.