logo

Typer av nycklar i relationsmodellen (kandidat, super, primär, alternativ och utländsk)

Nycklar är ett av grundkraven för en relationsdatabasmodell. Det används ofta för att identifiera tuplarna (raderna) unikt i tabellen. Vi använder också nycklar för att skapa relationer mellan olika kolumner och tabeller i en relationsdatabas.

Olika typer av databasnycklar

  • Kandidatnyckel
  • Primärnyckel
  • Supernyckel
  • Alternativ nyckel
  • Främmande nyckel
  • Kompositnyckel

Kandidatnyckel

Den minimala uppsättningen attribut som unikt kan identifiera en tuppel kallas en kandidatnyckel. Till exempel STUD_NO i STUDENT-relation.



  • Det är en minimal supernyckel.
  • Det är en supernyckel utan upprepad data kallas en kandidatnyckel.
  • Den minimala uppsättningen attribut som unikt kan identifiera en post.
  • Den måste innehålla unika värden.
  • Den kan innehålla NULL-värden.
  • Varje tabell måste ha minst en kandidatnyckel.
  • En tabell kan ha flera kandidatnycklar men bara en primärnyckel.
  • Värdet på kandidatnyckeln är unikt och kan vara null för en tuppel.
  • Det kan finnas mer än en kandidatnyckel i ett förhållande.

Exempel:

lista sorterad java
 STUD_NO is the candidate key for relation STUDENT.>

Bord STUDENT

STUD_NO KNÄPPA ADRESS TELEFON
1 Shyam Delhi 123456789
2 Rakesh Kolkata 223365796
3 Suraj Delhi 175468965
  • Kandidatnyckeln kan också vara enkel (med endast ett attribut) eller sammansatt.

Exempel:



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

Tabell STUDENT_COURSE

STUD_NO TEACHER_NO COURSE_NO
1 001 C001
2 056 C005

Notera: I SQL Server en unik begränsning som har en nullbar kolumn, tillåter värdet ' null ’ i den kolumnen bara en gång . Det är därför STUD_PHONE-attributet är en kandidat här, men kan inte vara ett 'null'-värde i det primära nyckelattributet.

Primärnyckel

Det kan finnas mer än en kandidatnyckel i relation där en kan väljas som primärnyckel. Till exempel, STUD_NO, såväl som STUD_PHONE, är kandidatnycklar för relationen STUDENT men STUD_NO kan väljas som primärnyckel (endast en av många kandidatnycklar).



  • Det är en unik nyckel.
  • Den kan bara identifiera en tupel (ett rekord) åt gången.
  • Den har inga dubbletter av värden, den har unika värden.
  • Det kan inte vara NULL.
  • Primära nycklar ska inte nödvändigtvis vara en enda kolumn; mer än en kolumn kan också vara en primärnyckel för en tabell.

Exempel:

STUDENT table ->Student(STUD_NO, SNAME, ADDRESS, PHONE) , STUD_NO är en primärnyckel>

Bord STUDENT

STUD_NO KNÄPPA ADRESS TELEFON
1 Shyam Delhi 123456789
2 Rakesh Kolkata 223365796
3 Suraj Delhi 175468965

Supernyckel

Uppsättningen attribut som unikt kan identifiera en tuppel kallas Super Key. Till exempel STUD_NO, (STUD_NO, STUD_NAME), etc. En supernyckel är en grupp av enstaka eller flera nycklar som identifierar rader i en tabell. Den stöder NULL-värden.

  • Om du lägger till noll eller fler attribut till kandidatnyckeln genereras supernyckeln.
  • En kandidatnyckel är en supernyckel men vice versa är inte sant.
  • Supernyckelvärden kan också vara NULL.

Exempel:

Consider the table shown above. STUD_NO+PHONE is a super key  .>
Relation mellan primärnyckel, kandidatnyckel och supernyckel

Relation mellan primärnyckel, kandidatnyckel och supernyckel

Alternativ nyckel

Den andra kandidatnyckeln än primärnyckeln kallas an alternativ nyckel .

greibach normal form
  • Alla nycklar som inte är primärnycklar kallas alternativa nycklar.
  • Det är en sekundär nyckel.
  • Den innehåller två eller flera fält för att identifiera två eller flera poster.
  • Dessa värden upprepas.
  • T.ex.:- SNAME och ADDRESS är alternativa nycklar

Exempel:

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).>
Primärnyckel, kandidatnyckel och alternativnyckel

Primär nyckel, kandidatnyckel och alternativ nyckel

Främmande nyckel

Om ett attribut endast kan ta de värden som finns närvarande som värden för något annat attribut, kommer det att vara en främmande nyckel till det attribut som det hänvisar till. Relationen som refereras kallas refererad relation och motsvarande attribut kallas refererad attribut. Det refererade attributet för den refererade relationen bör vara den primära nyckeln till den.

  • Det är en nyckel som den fungerar som en primärnyckel i en tabell och den fungerar som
    sekundär nyckel i en annan tabell.
  • Den kombinerar två eller flera relationer (tabeller) åt gången.
  • De fungerar som en korsreferens mellan tabellerna.
  • Till exempel är DNO en primärnyckel i DEPT-tabellen och en icke-nyckel i EMP

Exempel:

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

Tabell STUDENT_COURSE

STUD_NO TEACHER_NO COURSE_NO
1 005 C001
2 056 C005

Det kan vara värt att notera att, till skillnad från den primära nyckeln för en given relation, kan den främmande nyckeln vara NULL och kan innehålla dubbletter av tupler, dvs. den behöver inte följa unikhetsbegränsningen. Till exempel är STUD_NO i relationen STUDENT_COURSE inte unik. Det har upprepats för första och tredje tuplarna. Emellertid är STUD_NO i STUDENT-relationen en primärnyckel och den måste alltid vara unik, och den kan inte vara null.

Relation mellan primärnyckel och främmande nyckel

Relation mellan primärnyckel och främmande nyckel

Kompositnyckel

Ibland kanske en tabell inte har en enda kolumn/attribut som unikt identifierar alla poster i en tabell. För att unikt identifiera rader i en tabell kan en kombination av två eller flera kolumner/attribut användas. Det kan fortfarande ge dubbla värden i sällsynta fall. Så vi måste hitta den optimala uppsättningen attribut som unikt kan identifiera rader i en tabell.

heal tool gimp
  • Den fungerar som en primärnyckel om det inte finns någon primärnyckel i en tabell
  • Två eller flera attribut används tillsammans för att göra en sammansatt nyckel .
  • Olika kombinationer av attribut kan ge olika noggrannhet när det gäller att identifiera raderna unikt.

Exempel:

FULLNAME + DOB can be combined  together to access the details of a student.>
Olika typer av nycklar

Olika typer av nycklar

Slutsats

Sammanfattningsvis använder sig den relationella modellen av ett antal nycklar: kandidatnycklar möjliggör distinkt identifiering, den primära nyckeln fungerar som den valda identifieraren, alternativa nycklar erbjuder andra val, och främmande nycklar skapar viktiga länkar som garanterar dataintegritet mellan tabeller. Skapandet av starka och effektiva relationsdatabaser kräver en genomtänkt tillämpning av dessa nycklar.

Vanliga frågor om typer av nycklar i relationsmodellen

F.1: Varför behövs nycklar för DBMS?

Svar:

Nycklar är en av de viktiga aspekterna av DBMS. Nycklar hjälper oss att hitta tuplarna (raderna) unikt i tabellen. Det används också för att utveckla olika relationer mellan kolumner eller tabeller i databasen.

F.2: Vad är en unik nyckel?

Svar:

Unika nycklar är de nycklar som definierar posten unikt i tabellen. Den skiljer sig från primärnycklar, eftersom Unik nyckel kan innehålla ett NULL-värde men primärnyckeln inte innehåller några NULL-värden.

F.3: Vad är artificiell nyckel?

Svar:

Artificiella nycklar är de nycklar som används när inga attribut innehåller alla egenskaper för den primära nyckeln eller om den primära nyckeln är mycket stor och komplex.