DBMS-nycklar: Kandidat-, Super-, Primär-, Utländska nyckeltyper med exempel
Vad är nycklar i DBMS?
NYCKLAR i DBMS är ett attribut eller en uppsättning attribut som hjälper dig att identifiera en rad(tupel) i en relation(tabell). De låter dig hitta relationen mellan två tabeller. Nycklar hjälper dig att unikt identifiera en rad i en tabell genom en kombination av en eller flera kolumner i den tabellen. Nyckeln är också användbar för att hitta unik post eller rad från tabellen. Databasnyckel är också användbar för att hitta unik post eller rad från tabellen.
Exempelvis:
Anställnings-ID | Förnamn | Efternamn |
---|---|---|
11 | Andrew | Johnson |
22 | Tom | Trä |
33 | Alex | Hale |
I det ovan givna exemplet är anställds-ID en primärnyckel eftersom det unikt identifierar en anställdspost. I den här tabellen kan ingen annan anställd ha samma anställds-ID.
Varför behöver vi en nyckel?
Här är några anledningar till att använda sql-nyckeln i DBMS-systemet.
- Nycklar hjälper dig att identifiera valfri rad med data i en tabell. I en verklig applikation kan en tabell innehålla tusentals poster. Dessutom kan journalerna dupliceras. Nycklar i RDBMS säkerställer att du unikt kan identifiera en tabellpost trots dessa utmaningar.
- Låter dig upprätta en relation mellan och identifiera relationen mellan tabeller
- Hjälp dig att upprätthålla identitet och integritet i relationen.
Typer av nycklar i DBMS (Database Management System)
Det finns huvudsakligen åtta olika typer av nycklar i DBMS och varje nyckel har sina olika funktioner:
- Supernyckeln
- Primärnyckel
- Kandidatnyckel
- Alternativ nyckel
- Främmande nyckel
- Sammansatt nyckel
- Sammansatt nyckel
- Surrogatnyckel
Låt oss titta på var och en av nycklarna i DBMS med exempel:
- Supernyckel – En supernyckel är en grupp av enstaka eller flera nycklar som identifierar rader i en tabell.
- Primärnyckel - är en kolumn eller grupp av kolumner i en tabell som unikt identifierar varje rad i den tabellen.
- Kandidatnyckel – är en uppsättning attribut som unikt identifierar tupler i en tabell. Candidate Key är en supernyckel utan upprepade attribut.
- Alternativ nyckel – är en kolumn eller grupp av kolumner i en tabell som unikt identifierar varje rad i den tabellen.
- Främmande nyckel - är en kolumn som skapar en relation mellan två tabeller. Syftet med främmande nycklar är att upprätthålla dataintegritet och möjliggöra navigering mellan två olika instanser av en enhet.
- Sammansatt nyckel – har två eller flera attribut som gör att du unikt kan känna igen en specifik post. Det är möjligt att varje kolumn inte är unik i sig själv i databasen.
- Sammansatt nyckel – är en kombination av två eller flera kolumner som unikt identifierar rader i en tabell. Kombinationen av kolumner garanterar unikhet, även om individuell unikhet inte garanteras.
- surrogatnyckel – En konstgjord nyckel som syftar till att unikt identifiera varje post kallas en surrogatnyckel. Den här typen av nycklar är unika eftersom de skapas när du inte har någon naturlig primärnyckel.
Vad är Supernyckeln?
En supernyckel är en grupp av enstaka eller flera nycklar som identifierar rader i en tabell. En supernyckel kan ha ytterligare attribut som inte behövs för unik identifiering.
Exempelvis:
EmpSSN | EmpNum | Empname |
---|---|---|
9812345098 | AB05 | Visad |
9876512345 | AB06 | Roslyn |
199937890 | AB07 | James |
I det ovan givna exemplet är EmpSSN och EmpNum-namn supernycklar.
Vad är en primärnyckel?
PRIMÄRNYCKEL in DBMS är en kolumn eller grupp av kolumner i en tabell som unikt identifierar varje rad i den tabellen. Den primära nyckeln kan inte vara en dubblett, vilket betyder att samma värde inte kan visas mer än en gång i tabellen. En tabell kan inte ha mer än en primärnyckel.
Regler för att definiera primärnyckel:
- Två rader kan inte ha samma primärnyckelvärde
- Det måste för varje rad ha ett primärnyckelvärde.
- Det primära nyckelfältet kan inte vara null.
- Värdet i en primärnyckelkolumn kan aldrig ändras eller uppdateras om någon främmande nyckel refererar till den primärnyckeln.
Exempelvis:
I följande exempel, StudID
är en primärnyckel.
StudID | Rull nr | Förnamn | Efternamn | E-post |
---|---|---|---|---|
1 | 11 | Tom | Pris | abc@gmail.com |
2 | 12 | Nick | Wright | xyz@gmail.com |
3 | 13 | Dana | Natan | mno@yahoo.com |
Vad är den alternativa nyckeln?
ALTERNATIVA NYCKLAR är en kolumn eller grupp av kolumner i en tabell som unikt identifierar varje rad i den tabellen. En tabell kan ha flera val för en primärnyckel men endast en kan ställas in som primärnyckel. Alla nycklar som inte är primärnyckel kallas en alternativ nyckel.
Exempelvis:
I den här tabellen är StudID, Roll No, Email kvalificerade att bli en primärnyckel. Men eftersom StudID är den primära nyckeln, blir Roll No, Email den alternativa nyckeln.
StudID | Rull nr | Förnamn | Efternamn | E-post |
---|---|---|---|---|
1 | 11 | Tom | Pris | abc@gmail.com |
2 | 12 | Nick | Wright | xyz@gmail.com |
3 | 13 | Dana | Natan | mno@yahoo.com |
Vad är en kandidatnyckel?
KANDIDATNYCKEL i SQL är en uppsättning attribut som unikt identifierar tupler i en tabell. Candidate Key är en supernyckel utan upprepade attribut. Den primära nyckeln bör väljas från kandidatnycklarna. Varje tabell måste ha minst en kandidatnyckel. En tabell kan ha flera kandidatnycklar men bara en enda primärnyckel.
Egenskaper för kandidatnyckel:
- Den måste innehålla unika värden
- Kandidatnyckel i SQL kan ha flera attribut
- Får inte innehålla null-värden
- Det bör innehålla minsta fält för att säkerställa unikhet
- Identifiera varje post i en tabell unikt
Kandidatnyckel Exempel: I den givna tabellen är Stud ID, Roll No och e-post kandidatnycklar som hjälper oss att unikt identifiera studentposten i tabellen.
StudID | Rull nr | Förnamn | Efternamn | E-post |
---|---|---|---|---|
1 | 11 | Tom | Pris | abc@gmail.com |
2 | 12 | Nick | Wright | xyz@gmail.com |
3 | 13 | Dana | Natan | mno@yahoo.com |
Vad är den främmande nyckeln?
FRÄMMANDE NYCKEL är en kolumn som skapar en relation mellan två tabeller. Syftet med främmande nycklar är att upprätthålla dataintegritet och möjliggöra navigering mellan två olika instanser av en enhet. Den fungerar som en korsreferens mellan två tabeller eftersom den refererar till primärnyckeln för en annan tabell.
Exempelvis:
Avdelningskod | Avdelningens namn |
---|---|
001 | Vetenskap |
002 | Engelska |
005 | Dator |
Lärar-ID | Fname | Lname |
---|---|---|
B002 | David | Warner |
B017 | Sara | Joseph |
B009 | Mikrofon | Brunton |
I den här nyckeln i dbms-exemplet har vi två tabeller, teach och institution i en skola. Det finns dock inget sätt att se vilket sökarbete på vilken avdelning.
I den här tabellen, genom att lägga till den främmande nyckeln i Deptcode till lärarens namn, kan vi skapa en relation mellan de två tabellerna.
Lärar-ID | Avdelningskod | Fname | Lname |
---|---|---|---|
B002 | 002 | David | Warner |
B017 | 002 | Sara | Joseph |
B009 | 001 | Mikrofon | Brunton |
Detta koncept är också känt som referens Integrity.
Vad är den sammansatta nyckeln?
SAMMANSTÄLLD NYCKEL har två eller flera attribut som gör att du unikt kan känna igen en specifik post. Det är möjligt att varje kolumn inte är unik i sig själv i databasen. Men när den kombineras med den eller de andra kolumnerna blir kombinationen av sammansatta nycklar unik. Syftet med den sammansatta nyckeln i databasen är att unikt identifiera varje post i tabellen.
Exempelvis:
Beställningsnr | PorductID | Produktnamn | Antal |
---|---|---|---|
B005 | JAP102459 | Mus | 5 |
B005 | DKT321573 | USB | 10 |
B005 | OMG446789 | LCD-skärm | 20 |
B004 | DKT321573 | USB | 15 |
B002 | OMG446789 | Laserskrivare | 3 |
I det här exemplet kan OrderNo och ProductID inte vara en primärnyckel eftersom de inte unikt identifierar en post. Däremot kan en sammansatt nyckel av order-ID och produkt-ID användas eftersom den unikt identifierade varje post.
Vad är den sammansatta nyckeln?
KOMPOSITNYCKEL är en kombination av två eller flera kolumner som unikt identifierar rader i en tabell. Kombinationen av kolumner garanterar unikhet, även om individuell unikhet inte garanteras. Därför kombineras de för att unikt identifiera poster i en tabell.
Skillnaden mellan sammansatt och sammansatt nyckel är att vilken del som helst av den sammansatta nyckeln kan vara en främmande nyckel, men den sammansatta nyckeln kan eller kanske inte en del av den främmande nyckeln.
Vad är en surrogatnyckel?
SURROGATNYCKLAR är En konstgjord nyckel som syftar till att unikt identifiera varje post kallas en surrogatnyckel. Den här typen av partiell nyckel i dbms är unik eftersom den skapas när du inte har någon naturlig primärnyckel. De ger ingen mening åt uppgifterna i tabellen. Surrogatnyckel i DBMS är vanligtvis ett heltal. En surrogatnyckel är ett värde som genereras precis innan posten infogas i en tabell.
Fname | Efternamn | Starttid | Sluttid |
---|---|---|---|
anne | Smith | 09:00 | 18:00 |
jack | Francis | 08:00 | 17:00 |
anna | McLean | 11:00 | 20:00 |
Visad | William | 14:00 | 23:00 |
Ovan, givet exempel, visas skifttider för de olika anställda. I det här exemplet behövs en surrogatnyckel för att unikt identifiera varje anställd.
Surrogat knappar in sql är tillåtna när
- Ingen egenskap har parametern för primärnyckeln.
- I tabellen när primärnyckeln är för stor eller komplicerad.
Skillnaden mellan primärnyckel och främmande nyckel
Följande är huvudskillnaden mellan primärnyckel och främmande nyckel:
Primärnyckel | Främmande nyckel |
---|---|
Hjälper dig att unikt identifiera en post i tabellen. | Det är ett fält i tabellen som är primärnyckeln för en annan tabell. |
Primärnyckel accepterar aldrig nollvärden. | En främmande nyckel kan acceptera flera nollvärden. |
Primärnyckeln är ett klustrat index och data i DBMS-tabellen är fysiskt organiserade i sekvensen av det klustrade indexet. | En främmande nyckel kan inte automatiskt skapa ett index, klustrade eller icke-klustrade. Du kan dock manuellt skapa ett index på den främmande nyckeln. |
Du kan ha den enda primära nyckeln i en tabell. | Du kan ha flera främmande nycklar i en tabell. |
Sammanfattning
- Vad är nyckeln i DBMS: En nyckel i DBMS är ett attribut eller en uppsättning attribut som hjälper dig att identifiera en rad(tupel) i en relation(tabell)
- Knappar in RDBMS låter dig upprätta en relation mellan och identifiera relationen mellan tabeller
- Åtta typer av nyckel i DBMS är Super, Primary, Candidate, Alternate, Foreign, Compound, Composite och Surrogate Key.
- En supernyckel är en grupp av enstaka eller flera nycklar som identifierar rader i en tabell.
- En kolumn eller grupp av kolumner i en tabell som hjälper oss att unikt identifiera varje rad i den tabellen kallas en primärnyckel
- Alla olika nycklar i DBMS som inte är primärnyckel kallas en alternativ nyckel
- En supernyckel utan upprepade attribut kallas kandidatnyckel
- En sammansatt nyckel är en nyckel som har många fält som gör att du unikt kan känna igen en specifik post
- En nyckel som har flera attribut för att unikt identifiera rader i en tabell kallas en sammansatt nyckel
- En konstgjord nyckel som syftar till att unikt identifiera varje post kallas en surrogatnyckel
- Primärnyckel accepterar aldrig nollvärden medan en främmande nyckel kan acceptera flera nollvärden.