Hva er nøkler i DBMS?
NØKLER i DBMS er et attributt eller sett med attributter som hjelper deg med å identifisere en rad (tuple) i en relasjon (tabell). De lar deg finne forholdet mellom to tabeller. Taster hjelper deg med å identifisere en rad i en tabell ved en kombinasjon av en eller flere kolonner i den tabellen. Nøkkel er også nyttig for å finne unik post eller rad fra tabellen. Database-nøkkel er også nyttig for å finne unik post eller rad fra tabellen.
Eksempel:
Ansatt ID | Fornavn | Etternavn |
11 | Andrew | Johnson |
22 | Tom | Tre |
33 | Alex | Hale |
I eksemplet ovenfor er ansattes ID en primærnøkkel fordi den unikt identifiserer en ansattpost. I denne tabellen kan ingen andre ansatte ha samme ansatt-ID.
I denne opplæringen lærer du:
- Hva er nøkler?
- Hvorfor trenger vi en nøkkel?
- Ulike nøkler i databasestyringssystem
- Hva er Super Key?
- Hva er primærnøkkel?
- Hva er alternativ nøkkel?
- Hva er kandidatnøkkel?
- Hva er utenlandsk nøkkel?
- Hva er sammensatt nøkkel?
- Hva er sammensatt nøkkel?
- Hva er Surrogate Key?
- Forskjellen mellom primærnøkkel og utenlandsk nøkkel
Hvorfor trenger vi en nøkkel?
Her er noen grunner til å bruke SQL-nøkkel i DBMS-systemet.
- Taster hjelper deg med å identifisere hvilken som helst rad med data i en tabell. I en applikasjon fra den virkelige verden kan en tabell inneholde tusenvis av poster. Videre kan postene dupliseres. Tastene sørger for at du unikt kan identifisere en tabellpost til tross for disse utfordringene.
- Lar deg etablere et forhold mellom og identifisere forholdet mellom tabeller
- Hjelp deg med å håndheve identitet og integritet i forholdet.
Typer nøkler i databasesystemet
Det er hovedsakelig syv forskjellige typer nøkler i DBMS, og hver nøkkel har ulik funksjonalitet:
- Supernøkkel - En supernøkkel er en gruppe enkelt- eller flere nøkler som identifiserer rader i en tabell.
- Primærnøkkel - er en kolonne eller gruppe av kolonner i en tabell som unikt identifiserer hver rad i den tabellen.
- Kandidatnøkkel - er et sett med attributter som unikt identifiserer tuplene i en tabell. Kandidatnøkkel er en supernøkkel uten gjentatte attributter.
- Alternativ nøkkel - er en kolonne eller gruppe av kolonner i en tabell som unikt identifiserer hver rad i den tabellen.
- Foreign Key - er en kolonne som skaper et forhold mellom to tabeller. Hensikten med utenlandske nøkler er å opprettholde dataintegriteten og tillate navigering mellom to forskjellige forekomster av en enhet.
- Sammensatt nøkkel - har to eller flere attributter som lar deg unikt gjenkjenne en bestemt post. Det er mulig at hver kolonne kanskje ikke er unik i seg selv i databasen.
- Composite Key - En kunstig nøkkel som tar sikte på å identifisere hver post unikt, kalles en surrogatnøkkel. Denne typen nøkkel er unik fordi de er opprettet når du ikke har noen naturlig primærnøkkel.
- Surrogatnøkkel - En kunstig nøkkel som tar sikte på å identifisere hver post unikt, kalles en surrogatnøkkel. Denne typen nøkler er unike fordi de er opprettet når du ikke har noen naturlig primærnøkkel.
Hva er Super-nøkkelen?
En supernøkkel er en gruppe enkelt- eller flere taster som identifiserer rader i en tabell. En supernøkkel kan ha flere attributter som ikke er nødvendige for unik identifikasjon.
Eksempel:
EmpSSN | EmpNum | Empname |
9812345098 | AB05 | Vist |
9876512345 | AB06 | Roslyn |
199937890 | AB07 | James |
I ovennevnte eksempel er EmpSSN og EmpNum-navn supernøkler.
Hva er en primærnøkkel?
PRIMÆRE NØKKEL er en kolonne eller gruppe av kolonner i en tabell som unikt identifiserer hver rad i den tabellen. Primærnøkkelen kan ikke være et duplikat, noe som betyr at den samme verdien ikke kan vises mer enn en gang i tabellen. En tabell kan ikke ha mer enn en primærnøkkel.
Regler for definering av primærnøkkel:
- To rader kan ikke ha samme primære nøkkelverdi
- Det må for hver rad å ha en primær nøkkelverdi.
- Det primære nøkkelfeltet kan ikke være null.
- Verdien i en primærnøkkelkolonne kan aldri endres eller oppdateres hvis noen utenlandsk nøkkel refererer til den primære nøkkelen.
Eksempel:
I det følgende eksemplet er StudID
en primærnøkkel.
StudID | Rull nr | Fornavn | Etternavn | E-post |
1 | 11 | Tom | Pris | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
2 | 12 | Nick | Wright | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
3 | 1. 3 | Dana | Natan | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
Hva er alternativtasten?
ALTERNATE TASTER er en kolonne eller gruppe av kolonner i en tabell som unikt identifiserer hver rad i den tabellen. En tabell kan ha flere valg for en primærnøkkel, men bare en kan angis som primærnøkkel. Alle nøklene som ikke er primærnøkkel kalles en alternativ nøkkel.
Eksempel:
I denne tabellen er StudID, Roll No, Email kvalifisert til å bli en primærnøkkel. Men siden StudID er den viktigste nøkkelen, blir Roll No, Email den alternative nøkkelen.
StudID | Rull nr | Fornavn | Etternavn | E-post |
1 | 11 | Tom | Pris | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
2 | 12 | Nick | Wright | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
3 | 1. 3 | Dana | Natan | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
Hva er en kandidatnøkkel?
CANDIDATE KEY er et sett med attributter som unikt identifiserer tuplene i en tabell. Kandidatnøkkel er en supernøkkel uten gjentatte attributter. Primærnøkkelen skal velges fra kandidatnøklene. Hvert bord må ha minst én kandidatnøkkel. En tabell kan ha flere kandidatnøkler, men bare en enkelt primærnøkkel.
Egenskaper til kandidatnøkkel:
- Den må inneholde unike verdier
- Kandidatnøkkelen kan ha flere attributter
- Må ikke inneholde nullverdier
- Den skal inneholde minimum felt for å sikre unikhet
- Identifiser hver post i en tabell unikt
Eksempel: I den gitte tabellen er stud-ID, rulle nr og e-post kandidatnøkler som hjelper oss med å identifisere studentposten i tabellen.
StudID | Rull nr | Fornavn | Etternavn | E-post |
1 | 11 | Tom | Pris | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
2 | 12 | Nick | Wright | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
3 | 1. 3 | Dana | Natan | Denne e-postadressen er beskyttet mot programmer som samler e-postadresser. Du må aktivere JavaScript for å kunne se den. |
Hva er den utenlandske nøkkelen?
UTENLANDSK KEY er en kolonne som skaper et forhold mellom to tabeller. Hensikten med utenlandske nøkler er å opprettholde dataintegriteten og tillate navigering mellom to forskjellige forekomster av en enhet. Den fungerer som en kryssreferanse mellom to tabeller, da den refererer til hovednøkkelen til en annen tabell.
Eksempel:
DeptCode | Avdelingsnavn |
001 | Vitenskap |
002 | Engelsk |
005 | Datamaskin |
Lærer-ID | Fname | Lname |
B002 | David | Warner |
B017 | Sara | Joseph |
B009 | Mike | Brunton |
I denne nøkkelen i dbms-eksemplet har vi to bord, undervisning og avdeling på en skole. Det er imidlertid ingen måte å se hvilket søk som fungerer i hvilken avdeling.
I denne tabellen, ved å legge den utenlandske nøkkelen i Deptcode til lærernavnet, kan vi opprette et forhold mellom de to tabellene.
Lærer-ID | DeptCode | Fname | Lname |
B002 | 002 | David | Warner |
B017 | 002 | Sara | Joseph |
B009 | 001 | Mike | Brunton |
Dette konseptet er også kjent som Referential Integrity.
Hva er sammensatt nøkkel?
COMPOUND KEY har to eller flere attributter som lar deg unikt gjenkjenne en bestemt post. Det er mulig at hver kolonne kanskje ikke er unik i seg selv i databasen. Imidlertid når kombinasjonen med den andre kolonnen eller kolonnene blir kombinasjonen av sammensatte nøkler unik. Formålet med den sammensatte nøkkelen i databasen er å identifisere hver post i tabellen på en unik måte.
Eksempel:
Best.nr | PorductID | Produktnavn | Mengde |
B005 | JAP102459 | Mus | 5 |
B005 | DKT321573 | USB | 10 |
B005 | OMG446789 | LCD-skjerm | 20 |
B004 | DKT321573 | USB | 15 |
B002 | OMG446789 | Laserskriver | 3 |
I dette eksemplet kan OrderNo og ProductID ikke være en primærnøkkel, da den ikke unikt identifiserer en post. Imidlertid kan en sammensatt nøkkel med ordre-ID og produkt-ID brukes som den unikt identifiserte hver post.
Hva er den sammensatte nøkkelen?
COMPOSITE KEY er en kombinasjon av to eller flere kolonner som unikt identifiserer rader i en tabell. Kombinasjonen av kolonner garanterer unikhet, men individuell unikhet er ikke garantert. Derfor kombineres de for å identifisere poster i en tabell unikt.
Forskjellen mellom sammensatt og sammensatt nøkkel er at hvilken som helst del av sammensatt nøkkel kan være en fremmed nøkkel, men den sammensatte nøkkelen kan eller ikke en del av den fremmede nøkkelen.
Hva er en surrogatnøkkel?
SURROGATE KEYS er en kunstig nøkkel som tar sikte på å identifisere hver post unikt, kalles en surrogatnøkkel. Denne typen delvis nøkkel i dbms er unik fordi den opprettes når du ikke har noen naturlig primærnøkkel. De gir ingen betydning for dataene i tabellen. Surrogatnøkkel er vanligvis et helt tall. En surrogatnøkkel er en verdi som genereres rett før posten settes inn i en tabell.
Fname | Etternavn | Starttid | 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, gitt eksempel, vist skiftetider for de forskjellige ansatte. I dette eksemplet er det nødvendig med en surrogatnøkkel for å identifisere hver ansatt unikt.
Surrogatnøkler i kvl er tillatt når
- Ingen egenskaper har parameteren primærnøkkel.
- I tabellen når hovednøkkelen er for stor eller komplisert.
Forskjellen mellom primærnøkkel og utenlandsk nøkkel
Primærnøkkel | Utenlandsk nøkkel |
Hjelper deg med å identifisere en post i tabellen. | Det er et felt i tabellen som er hovednøkkelen til en annen tabell. |
Primærnøkkel godtar aldri nullverdier. | En fremmed nøkkel kan akseptere flere nullverdier. |
Primærnøkkel er en klynget indeks, og data i DBMS-tabellen er fysisk organisert i sekvensen til den klyngede indeksen. | En utenlandsk nøkkel kan ikke automatisk opprette en indeks, gruppert eller ikke-gruppert. Du kan imidlertid opprette en indeks manuelt på den utenlandske nøkkelen. |
Du kan ha den eneste primære nøkkelen i en tabell. | Du kan ha flere utenlandske nøkler i en tabell. |
Sammendrag
- En nøkkel i SQL er et attributt eller sett med attributter som hjelper deg med å identifisere en rad (tuple) i en relasjon (tabell)
- DBMS-nøkler lar deg etablere et forhold mellom og identifisere forholdet mellom tabeller
- Syv typer DBMS-nøkler er Super-, Primær-, Kandidat-, Alternativ-, Fremmed-, Forbindelse-, Kompositt- og Surrogatnøkkel.
- En supernøkkel er en gruppe enkelt- eller flere taster som identifiserer rader i en tabell.
- En kolonne eller gruppe av kolonner i en tabell som hjelper oss med å identifisere hver rad i den tabellen på en unik måte, kalles en primærnøkkel
- Alle nøklene som ikke er primærnøkkel kalles en alternativ nøkkel
- En supernøkkel uten gjentatt attributt kalles kandidatnøkkel
- En sammensatt nøkkel er en nøkkel som har mange felt som lar deg unikt gjenkjenne en bestemt post
- En nøkkel som har flere attributter for å identifisere rader i en tabell unikt, kalles en sammensatt nøkkel
- En kunstig nøkkel som tar sikte på å identifisere hver plate unikt, kalles en surrogatnøkkel
- Primærnøkkel godtar aldri nullverdier mens en fremmed nøkkel kan akseptere flere nullverdier.