- Nycklar spelar en viktig roll i relationsdatabasen.
- Den används för att unikt identifiera varje post eller rad med data från tabellen. Det används också för att etablera och identifiera relationer mellan tabeller.
Till exempel, ID används som nyckel i elevtabellen eftersom det är unikt för varje elev. I PERSON-tabellen är pass_number, license_number, SSN nycklar eftersom de är unika för varje person.
Typer av nycklar:
1. Primär nyckel
- Det är den första nyckeln som används för att identifiera en och endast en instans av en enhet unikt. En entitet kan innehålla flera nycklar, som vi såg i PERSON-tabellen. Den nyckel som är mest lämplig från dessa listor blir en primärnyckel.
- I tabellen MEDARBETARE kan ID vara den primära nyckeln eftersom det är unikt för varje anställd. I tabellen MEDARBETARE kan vi till och med välja License_Number och Passport_Number som primärnycklar eftersom de också är unika.
- För varje enhet baseras primärnyckelvalet på krav och utvecklare.
2. Kandidatnyckel
- En kandidatnyckel är ett attribut eller en uppsättning attribut som unikt kan identifiera en tupel.
- Förutom primärnyckeln anses de återstående attributen vara en kandidatnyckel. Kandidatnycklarna är lika starka som primärnyckeln.
Till exempel: I tabellen MEDARBETARE är id bäst lämpat för primärnyckeln. Resten av attributen, som SSN, Passport_Number, License_Number, etc., anses vara en kandidatnyckel.
3. Supernyckel
Supernyckel är en attributuppsättning som unikt kan identifiera en tuppel. En supernyckel är en superuppsättning av en kandidatnyckel.
Till exempel: I tabellen ovan, för (EMPLOEE_ID, EMPLOYEE_NAME), kan namnet på två anställda vara detsamma, men deras EMPLYEE_ID kan inte vara detsamma. Därför kan denna kombination också vara en nyckel.
Supernyckeln skulle vara EMPLOYEE-ID (EMPLOYEE_ID, EMPLOYEE-NAME), etc.
4. Främmande nyckel
- Främmande nycklar är kolumnen i tabellen som används för att peka på primärnyckeln i en annan tabell.
- Varje anställd arbetar på en specifik avdelning i ett företag, och anställd och avdelning är två olika enheter. Så vi kan inte lagra avdelningens uppgifter i personaltabellen. Det är därför vi länkar dessa två tabeller genom primärnyckeln för en tabell.
- Vi lägger till den primära nyckeln i tabellen AVDELNING, Department_Id, som ett nytt attribut i tabellen MEDARBETARE.
- I EMPLOYEE-tabellen är Department_Id den främmande nyckeln, och båda tabellerna är relaterade.
5. Alternativ nyckel
Det kan finnas ett eller flera attribut eller en kombination av attribut som unikt identifierar varje tupel i en relation. Dessa attribut eller kombinationer av attributen kallas kandidatnycklarna. En nyckel väljs som primärnyckel från dessa kandidatnycklar, och den återstående kandidatnyckeln, om den finns, benämns alternativnyckeln. Med andra ord, det totala antalet alternativa nycklar är det totala antalet kandidatnycklar minus primärnyckeln. Den alternativa nyckeln kanske finns eller inte. Om det bara finns en kandidatnyckel i en relation, har den ingen alternativnyckel.
Till exempel, medarbetarrelationen har två attribut, Employee_Id och PAN_No, som fungerar som kandidatnycklar. I denna relation väljs Employee_Id som primärnyckel, så den andra kandidatnyckeln, PAN_No, fungerar som den alternativa nyckeln.
konvertera ett java-objekt till json
6. Sammansatt nyckel
Närhelst en primärnyckel består av mer än ett attribut kallas det en sammansatt nyckel. Denna nyckel är också känd som konkatenerad nyckel.
Till exempel, i anställningsrelationer antar vi att en anställd kan tilldelas flera roller och att en anställd kan arbeta med flera projekt samtidigt. Så den primära nyckeln kommer att bestå av alla tre attributen, nämligen Emp_ID, Emp_role och Proj_ID i kombination. Så dessa attribut fungerar som en sammansatt nyckel eftersom den primära nyckeln omfattar mer än ett attribut.
7. Konstgjord nyckel
Nyckeln som skapas med godtyckligt tilldelad data kallas konstgjorda nycklar. Dessa nycklar skapas när en primärnyckel är stor och komplex och inte har något samband med många andra relationer. Datavärdena för de konstgjorda nycklarna är vanligtvis numrerade i seriell ordning.
Till exempel, den primära nyckeln, som består av Emp_ID, Emp_role och Proj_ID, är stor i anställningsrelationer. Så det skulle vara bättre att lägga till ett nytt virtuellt attribut för att identifiera varje tupel i relationen unikt.