DBMS-nøgler: Kandidat, Super, Primær, Fremmed (Eksempel)

Indholdsfortegnelse:

Anonim

Hvad er nøgler i DBMS?

Nøgler i DBMS er en attribut eller et sæt attributter, som hjælper dig med at identificere en række (tuple) i en relation (tabel). De giver dig mulighed for at finde forholdet mellem to tabeller. Taster hjælper dig med at identificere en række i en tabel entydigt ved en kombination af en eller flere kolonner i den pågældende tabel. Nøglen er også nyttig til at finde en unik post eller række fra tabellen. Database-nøgle er også nyttig til at finde en unik post eller række fra tabellen.

Eksempel:

Medarbejder-ID Fornavn Efternavn
11 Andrew Johnson
22 Tom Træ
33 Alex Hale

I det ovennævnte eksempel er medarbejder-ID en primær nøgle, fordi det entydigt identificerer en medarbejderpost. I denne tabel kan ingen andre medarbejdere have det samme medarbejder-id.

I denne vejledning lærer du:

  • Hvad er nøgler?
  • Hvorfor har vi brug for en nøgle?
  • Forskellige nøgler i Database Management System
  • Hvad er Super-nøgle?
  • Hvad er primær nøgle?
  • Hvad er alternativ nøgle?
  • Hvad er kandidatnøgle?
  • Hvad er fremmed nøgle?
  • Hvad er sammensat nøgle?
  • Hvad er sammensat nøgle?
  • Hvad er surrogatnøgle?
  • Forskellen mellem primærnøgle og fremmednøgle

Hvorfor har vi brug for en nøgle?

Her er nogle grunde til at bruge sql-nøglen i DBMS-systemet.

  • Taster hjælper dig med at identificere enhver række data i en tabel. I en applikation i den virkelige verden kan en tabel indeholde tusindvis af poster. Desuden kunne poster kopieres. Tasterne sikrer, at du entydigt kan identificere en tabeloptegnelse på trods af disse udfordringer.
  • Giver dig mulighed for at etablere et forhold mellem og identificere forholdet mellem tabeller
  • Hjælp dig med at håndhæve identitet og integritet i forholdet.

Typer af nøgler i Database Management System

Der er hovedsageligt syv forskellige typer nøgler i DBMS, og hver nøgle har forskellige funktioner:

  • Supernøgle - En supernøgle er en gruppe af enkelt- eller flere nøgler, der identificerer rækker i en tabel.
  • Primær nøgle - er en kolonne eller gruppe af kolonner i en tabel, der entydigt identificerer hver række i den pågældende tabel.
  • Kandidatnøgle - er et sæt attributter, der entydigt identificerer tupler i en tabel. Kandidatnøgle er en supernøgle uden gentagne attributter.
  • Alternativ nøgle - er en kolonne eller gruppe af kolonner i en tabel, der entydigt identificerer hver række i den pågældende tabel.
  • Foreign Key - er en kolonne, der skaber et forhold mellem to tabeller. Formålet med udenlandske nøgler er at opretholde dataintegritet og tillade navigation mellem to forskellige forekomster af en enhed.
  • Compound Key - har to eller flere attributter, der giver dig mulighed for entydigt at genkende en bestemt post. Det er muligt, at hver kolonne muligvis ikke er unik i sig selv i databasen.
  • Composite Key - En kunstig nøgle, der sigter mod at identificere hver post entydigt, kaldes en surrogatnøgle. Denne type nøgle er unik, fordi de oprettes, når du ikke har nogen naturlig primærnøgle.
  • Surrogatnøgle - En kunstig nøgle, der sigter mod at entydigt identificere hver post, kaldes en surrogatnøgle. Denne type nøgle er unik, fordi de oprettes, når du ikke har nogen naturlig primærnøgle.

Hvad er Super-nøglen?

En supernøgle er en gruppe af enkelte eller flere nøgler, der identificerer rækker i en tabel. En supernøgle kan have yderligere attributter, der ikke er nødvendige for unik identifikation.

Eksempel:

EmpSSN EmpNum Empname
9812345098 AB05 Vist
9876512345 AB06 Roslyn
199937890 AB07 James

I ovennævnte eksempel er EmpSSN og EmpNum navn supernøgler.

Hvad er en primær nøgle?

PRIMÆR NØGLE er en kolonne eller gruppe af kolonner i en tabel, der entydigt identificerer hver række i den pågældende tabel. Primærnøglen kan ikke være en duplikat, hvilket betyder, at den samme værdi ikke kan vises mere end én gang i tabellen. En tabel kan ikke have mere end en primær nøgle.

Regler til definition af primærnøgle:

  • To rækker kan ikke have den samme primære nøgleværdi
  • Det skal for hver række have en primær nøgleværdi.
  • Det primære nøglefelt kan ikke være nul.
  • Værdien i en primær nøglekolonne kan aldrig ændres eller opdateres, hvis nogen fremmed nøgle henviser til den primære nøgle.

Eksempel:

I det følgende eksempel er StudID en primær nøgle.

StudID Rulle nr Fornavn Efternavn E-mail
1 11 Tom Pris Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.
2 12 Nick Wright Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.
3 13 Dana Natan Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.

Hvad er den alternative nøgle?

ALTERNATE TASTER er en kolonne eller gruppe af kolonner i en tabel, der entydigt identificerer hver række i den pågældende tabel. En tabel kan have flere valg for en primær nøgle, men kun en kan indstilles som den primære nøgle. Alle nøgler, der ikke er primærnøgle, kaldes en alternativ nøgle.

Eksempel:

I denne tabel er StudID, Roll No, Email kvalificeret til at blive en primær nøgle. Men da StudID er den primære nøgle, Roll No, bliver e-mail den alternative nøgle.

StudID Rulle nr Fornavn Efternavn E-mail
1 11 Tom Pris Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.
2 12 Nick Wright Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.
3 13 Dana Natan Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.

Hvad er en kandidatnøgle?

CANDIDATE KEY er et sæt attributter, der entydigt identificerer tupler i en tabel. Kandidatnøgle er en supernøgle uden gentagne attributter. Den primære nøgle skal vælges blandt kandidatnøglerne. Hver tabel skal have mindst en enkelt kandidatnøgle. En tabel kan have flere kandidatnøgler, men kun en enkelt primærnøgle.

Egenskaber ved kandidatnøgle:

  • Den skal indeholde unikke værdier
  • Kandidatnøglen kan have flere attributter
  • Må ikke indeholde nulværdier
  • Det skal indeholde mindstefelter for at sikre unikhed
  • Identificer hver post entydigt i en tabel

Eksempel: I den givne tabel er stud-id, rulle nr og e-mail kandidatnøgler, der hjælper os med at identificere de studereposter i tabellen entydigt.

StudID Rulle nr Fornavn Efternavn E-mail
1 11 Tom Pris Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.
2 12 Nick Wright Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.
3 13 Dana Natan Denne e-mail-adresse er beskyttet mod spambots. Du skal aktivere JavaScript for at kunne se den.

Hvad er den udenlandske nøgle?

UDENLANDSK KEY er en kolonne, der skaber et forhold mellem to tabeller. Formålet med udenlandske nøgler er at opretholde dataintegritet og tillade navigation mellem to forskellige forekomster af en enhed. Det fungerer som en krydsreference mellem to tabeller, da det refererer til den primære nøgle til en anden tabel.

Eksempel:

DeptCode Afdelingsnavn
001 Videnskab
002 engelsk
005 Computer
Lærer-id Fname Lname
B002 David Warner
B017 Sara Joseph
B009 Mike Brunton

I denne nøgle i dbms-eksempel har vi to bord, undervisning og afdeling på en skole. Der er dog ingen måde at se, hvilken søgning der fungerer i hvilken afdeling.

I denne tabel, ved at tilføje den fremmede nøgle i Deptcode til lærerens navn, kan vi skabe et forhold mellem de to tabeller.

Lærer-id DeptCode Fname Lname
B002 002 David Warner
B017 002 Sara Joseph
B009 001 Mike Brunton

Dette koncept er også kendt som Referential Integrity.

Hvad er den sammensatte nøgle?

COMPOUND KEY har to eller flere attributter, der giver dig mulighed for entydigt at genkende en bestemt post. Det er muligt, at hver kolonne muligvis ikke er unik i sig selv i databasen. Men når det kombineres med den eller de andre kolonner, bliver kombinationen af ​​sammensatte nøgler unik. Formålet med den sammensatte nøgle i databasen er at identificere hver post i tabellen entydigt.

Eksempel:

Ordre nummer PorductID produktnavn Antal
B005 JAP102459 Mus 5
B005 DKT321573 USB 10
B005 OMG446789 LCD-skærm 20
B004 DKT321573 USB 15
B002 OMG446789 Laser printer 3

I dette eksempel kan OrderNo og ProductID ikke være en primær nøgle, da det ikke entydigt identificerer en post. Imidlertid kunne en sammensat nøgle til ordre-id og produkt-id bruges, da den entydigt identificerede hver post.

Hvad er den sammensatte nøgle?

COMPOSITE KEY er en kombination af to eller flere kolonner, der entydigt identificerer rækker i en tabel. Kombinationen af ​​søjler garanterer unikhed, selvom individuel unikhed ikke garanteres. Derfor kombineres de for entydigt at identificere poster i en tabel.

Forskellen mellem sammensat og sammensat nøgle er, at en hvilken som helst del af sammensat nøgle kan være en fremmed nøgle, men den sammensatte nøgle kan eller måske ikke en del af den fremmede nøgle.

Hvad er en surrogatnøgle?

SURROGATE KEYS er en kunstig nøgle, der sigter mod at entydigt identificere hver post, kaldes en surrogatnøgle. Denne form for delvis nøgle i dbms er unik, fordi den oprettes, når du ikke har nogen naturlig primærnøgle. De giver ikke mening til dataene i tabellen. Surrogatnøgle er normalt et heltal. En surrogatnøgle er en værdi, der genereres lige før posten indsættes i en tabel.

Fname Efternavn Starttidspunkt Sluttid
Anne Smith 09:00 18:00
Jack Francis 08:00 17:00
Anna McLean 11:00 20:00
Vist Willam 14:00 23:00

Ovenfor, givet eksempel, vist skifttidspunkter for den forskellige medarbejder. I dette eksempel er der brug for en surrogatnøgle til entydigt at identificere hver medarbejder.

Surrogatnøgler i sql er tilladt, når

  • Ingen egenskab har den primære nøgles parameter.
  • I tabellen, når den primære nøgle er for stor eller kompliceret.

Forskellen mellem primærnøgle og fremmednøgle

Primærnøgle Fremmed nøgle
Hjælper dig med at identificere en post entydigt i tabellen. Det er et felt i tabellen, der er den primære nøgle til en anden tabel.
Primær nøgle accepterer aldrig nulværdier. En fremmed nøgle accepterer muligvis flere nulværdier.
Primær nøgle er et grupperet indeks, og data i DBMS-tabellen er fysisk organiseret i sekvensen af ​​det grupperede indeks. En fremmed nøgle kan ikke automatisk oprette et indeks, grupperet eller ikke-grupperet. Du kan dog manuelt oprette et indeks på den udenlandske nøgle.
Du kan have den eneste primære nøgle i en tabel. Du kan have flere fremmednøgler i en tabel.

Resumé

  • En nøgle i SQL er en attribut eller et sæt attributter, der hjælper dig med at identificere en række (tuple) i en relation (tabel)
  • DBMS-nøgler giver dig mulighed for at etablere et forhold mellem og identificere forholdet mellem tabeller
  • Syv typer DBMS-nøgler er Super-, Primær-, Kandidat-, Alternativ-, Fremmed-, Forbindelse-, Komposit- og Surrogatnøgle.
  • En supernøgle er en gruppe af enkelte eller flere nøgler, der identificerer rækker i en tabel.
  • En kolonne eller gruppe af kolonner i en tabel, som hjælper os med entydigt at identificere hver række i denne tabel kaldes en primær nøgle
  • Alle taster, der ikke er primærnøgle, kaldes en alternativ nøgle
  • En supernøgle uden gentagen attribut kaldes kandidatnøgle
  • En sammensat nøgle er en nøgle, der har mange felter, der giver dig mulighed for entydigt at genkende en bestemt post
  • En nøgle, der har flere attributter til entydigt at identificere rækker i en tabel, kaldes en sammensat nøgle
  • En kunstig nøgle, der sigter mod at identificere hver post entydigt, kaldes en surrogatnøgle
  • Primær nøgle accepterer aldrig nulværdier, mens en fremmed nøgle muligvis accepterer flere nulværdier.