logo

Typer af nøgler i relationsmodellen (kandidat, super, primær, suppleant og udenlandsk)

Nøgler er et af de grundlæggende krav til en relationel databasemodel. Det bruges i vid udstrækning til at identificere tupler(rækkerne) unikt i tabellen. Vi bruger også nøgler til at opsætte relationer mellem forskellige kolonner og tabeller i en relationsdatabase.

Forskellige typer databasenøgler

  • Kandidatnøgle
  • Primærnøgle
  • Super nøgle
  • Alternativ nøgle
  • Fremmed nøgle
  • Sammensat nøgle

Kandidatnøgle

Det minimale sæt af attributter, der unikt kan identificere en tupel, er kendt som en kandidatnøgle. For eksempel STUD_NO i STUDENT relation.



  • Det er en minimal supernøgle.
  • Det er en supernøgle uden gentagne data kaldes en kandidatnøgle.
  • Det minimale sæt attributter, der unikt kan identificere en post.
  • Det skal indeholde unikke værdier.
  • Den kan indeholde NULL-værdier.
  • Hver tabel skal have mindst en enkelt kandidatnøgle.
  • En tabel kan have flere kandidatnøgler, men kun én primær nøgle.
  • Værdien af ​​kandidatnøglen er unik og kan være nul for en tuple.
  • Der kan være mere end én kandidatnøgle i et forhold.

Eksempel:

char + int i java
 STUD_NO is the candidate key for relation STUDENT.>

Tabel STUDENT

STUD_NR SNAP ADRESSE TELEFON
1 Shyam Delhi 123456789
2 Rakesh Kolkata 223365796
3 Suraj Delhi 175468965
  • Kandidatnøglen kan også være enkel (med kun én egenskab) eller sammensat.

Eksempel:



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

Tabel STUDENT_COURSE

STUD_NR TEACHER_NO COURSE_NO
1 001 C001
2 056 C005

Bemærk: I SQL Server en unik begrænsning, der har en nullbar kolonne, tillader værdien ' nul ’ i den kolonne kun én gang . Det er derfor STUD_PHONE attributten er en kandidat her, men kan ikke være en 'null' værdi i den primære nøgle attribut.

Primærnøgle

Der kan være mere end én kandidatnøgle i forhold, hvoraf én kan vælges som primærnøgle. For eksempel er STUD_NO, såvel som STUD_PHONE, kandidatnøgler for relationen STUDENT, men STUD_NO kan vælges som primærnøgle (kun én ud af mange kandidatnøgler).



  • Det er en unik nøgle.
  • Det kan kun identificere én tuple (en rekord) ad gangen.
  • Det har ingen duplikerede værdier, det har unikke værdier.
  • Det kan ikke være NULL.
  • Primære nøgler skal ikke nødvendigvis være en enkelt kolonne; mere end én kolonne kan også være en primær nøgle til en tabel.

Eksempel:

STUDENT table ->Student(STUD_NO, SNAME, ADDRESS, PHONE) , STUD_NO er ​​en primær nøgle>

Tabel STUDENT

STUD_NR SNAP ADRESSE TELEFON
1 Shyam Delhi 123456789
2 Rakesh Kolkata 223365796
3 Suraj Delhi 175468965

Super nøgle

Sættet af attributter, der unikt kan identificere en tupel, er kendt som Super Key. For eksempel STUD_NO, (STUD_NO, STUD_NAME) osv. En supernøgle er en gruppe af enkelte eller flere nøgler, der identificerer rækker i en tabel. Det understøtter NULL-værdier.

  • Tilføjelse af nul eller flere attributter til kandidatnøglen genererer supernøglen.
  • En kandidatnøgle er en supernøgle, men omvendt er det ikke sandt.
  • Supernøgleværdier kan også være NULL.

Eksempel:

Consider the table shown above. STUD_NO+PHONE is a super key  .>
Relation mellem primærnøgle, kandidatnøgle og supernøgle

Forholdet mellem primærnøgle, kandidatnøgle og supernøgle

repl i java

Alternativ nøgle

Den anden kandidatnøgle end den primære nøgle kaldes en alternativ nøgle .

  • Alle nøgler, som ikke er primærnøgler, kaldes alternative nøgler.
  • Det er en sekundær nøgle.
  • Den indeholder to eller flere felter til at identificere to eller flere poster.
  • Disse værdier gentages.
  • F.eks.:- SNAME og ADDRESS er alternative nøgler

Eksempel:

react js tutorial
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ærnøgle, kandidatnøgle og alternativnøgle

Primær nøgle, kandidatnøgle og alternativ nøgle

Fremmed nøgle

Hvis en attribut kun kan tage de værdier, der er til stede som værdier af en anden attribut, vil den være en fremmed nøgle til den egenskab, den henviser til. Den relation, der refereres til, kaldes refereret relation, og den tilsvarende attribut kaldes referenceattribut. Den refererede attribut for den refererede relation skal være den primære nøgle til den.

  • Det er en nøgle, den fungerer som en primær nøgle i én tabel, og den fungerer som
    sekundær nøgle i en anden tabel.
  • Den kombinerer to eller flere relationer (tabeller) ad gangen.
  • De fungerer som en krydsreference mellem tabellerne.
  • For eksempel er DNO en primær nøgle i DEPT-tabellen og en ikke-nøgle i EMP

Eksempel:

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

Tabel STUDENT_COURSE

STUD_NR TEACHER_NO COURSE_NO
1 005 C001
2 056 C005

Det kan være værd at bemærke, at i modsætning til den primære nøgle for enhver given relation, kan fremmednøgle være NULL såvel som kan indeholde duplikerede tupler, dvs. den behøver ikke følge entydighedsbegrænsning. For eksempel er STUD_NO i STUDENT_COURSE-relationen ikke entydig. Det er blevet gentaget for første og tredje tuple. STUD_NO i STUDENT-relationen er dog en primær nøgle, og den skal altid være unik, og den kan ikke være null.

Forholdet mellem primærnøgle og fremmednøgle

Forholdet mellem primærnøgle og fremmednøgle

Sammensat nøgle

Nogle gange har en tabel muligvis ikke en enkelt kolonne/attribut, der entydigt identificerer alle poster i en tabel. For entydigt at identificere rækker i en tabel, kan en kombination af to eller flere kolonner/attributter bruges. Det kan stadig give duplikerede værdier i sjældne tilfælde. Så vi skal finde det optimale sæt af attributter, der unikt kan identificere rækker i en tabel.

  • Den fungerer som en primær nøgle, hvis der ikke er en primær nøgle i en tabel
  • To eller flere attributter bruges sammen til at lave en sammensat nøgle .
  • Forskellige kombinationer af attributter kan give forskellig nøjagtighed med hensyn til at identificere rækkerne unikt.

Eksempel:

FULLNAME + DOB can be combined  together to access the details of a student.>
Forskellige typer nøgler

Forskellige typer nøgler

Konklusion

Afslutningsvis gør den relationelle model brug af en række nøgler: Kandidatnøgler giver mulighed for distinkt identifikation, den primære nøgle fungerer som den valgte identifikator, alternative nøgler tilbyder andre valg, og fremmednøgler skaber vitale forbindelser, der garanterer dataintegritet mellem tabeller. Oprettelse af stærke og effektive relationelle databaser kræver en gennemtænkt anvendelse af disse nøgler.

Ofte stillede spørgsmål om typer af nøgler i relationsmodellen

Sp.1: Hvorfor er nøgler nødvendige til DBMS?

Svar:

Nøgler er et af de vigtige aspekter af DBMS. Taster hjælper os med at finde tupler(rækkerne) unikt i tabellen. Det bruges også til at udvikle forskellige relationer mellem kolonner eller tabeller i databasen.

Q.2: Hvad er en unik nøgle?

Svar:

kort vs sæt

Unikke nøgler er de nøgler, der definerer posten unikt i tabellen. Det er forskelligt fra Primære nøgler, da Unique Key kan indeholde én NULL-værdi, men Primary Key ikke indeholder nogen NULL-værdier.

Q.3: Hvad er kunstig nøgle?

Svar:

Kunstige nøgler er de nøgler, der bruges, når ingen attributter indeholder alle egenskaberne for den primære nøgle, eller hvis den primære nøgle er meget stor og kompleks.