- Nøgler spiller en vigtig rolle i relationsdatabasen.
- Det bruges til entydigt at identificere enhver post eller række af data fra tabellen. Det bruges også til at etablere og identificere relationer mellem tabeller.
For eksempel, ID bruges som nøgle i elevtabellen, fordi det er unikt for hver elev. I PERSON-tabellen er pas_nummer, licensnummer, SSN nøgler, da de er unikke for hver person.
Typer af nøgler:
1. Primær nøgle
- Det er den første nøgle, der bruges til at identificere én og kun én forekomst af en enhed unikt. En enhed kan indeholde flere nøgler, som vi så i PERSON-tabellen. Den nøgle, der er bedst egnet fra disse lister, bliver en primær nøgle.
- I MEDARBEJDER-tabellen kan ID være den primære nøgle, da det er unikt for hver medarbejder. I EMPLOYEE-tabellen kan vi endda vælge License_Number og Passport_Number som primære nøgler, da de også er unikke.
- For hver enhed er det primære nøglevalg baseret på krav og udviklere.
2. Kandidatnøgle
- En kandidatnøgle er en attribut eller et sæt attributter, der unikt kan identificere en tupel.
- Bortset fra den primære nøgle, betragtes de resterende attributter som en kandidatnøgle. Kandidatnøglerne er lige så stærke som den primære nøgle.
For eksempel: I MEDARBEJDER-tabellen er id bedst egnet til den primære nøgle. Resten af attributterne, såsom SSN, Passport_Number, License_Number, osv., betragtes som en kandidatnøgle.
3. Supernøgle
Supernøgle er et attributsæt, der unikt kan identificere en tupel. En supernøgle er et supersæt af en kandidatnøgle.
For eksempel: I ovenstående MEDARBEJDER-tabel, for (EMPLOEE_ID, EMPLOYEE_NAME), kan navnet på to medarbejdere være det samme, men deres EMPLYEE_ID kan ikke være det samme. Derfor kan denne kombination også være en nøgle.
Supernøglen ville være EMPLOYEE-ID (EMPLOYEE_ID, EMPLOYEE-NAME) osv.
4. Fremmednøgle
- Fremmednøgler er kolonnen i tabellen, der bruges til at pege på den primære nøgle i en anden tabel.
- Hver medarbejder arbejder i en bestemt afdeling i en virksomhed, og medarbejder og afdeling er to forskellige enheder. Så vi kan ikke gemme afdelingens oplysninger i medarbejdertabellen. Det er derfor, vi forbinder disse to tabeller gennem den primære nøgle i én tabel.
- Vi tilføjer den primære nøgle i AFDELINGStabellen, Department_Id, som en ny attribut i MEDARBEJDER-tabellen.
- I EMPLOYEE-tabellen er Department_Id fremmednøglen, og begge tabeller er relaterede.
5. Alternativ nøgle
Der kan være en eller flere attributter eller en kombination af attributter, der unikt identificerer hver tupel i en relation. Disse attributter eller kombinationer af attributterne kaldes kandidatnøglerne. En nøgle vælges som den primære nøgle fra disse kandidatnøgler, og den resterende kandidatnøgle, hvis den findes, kaldes den alternative nøgle. Med andre ord, det samlede antal af de alternative nøgler er det samlede antal kandidatnøgler minus den primære nøgle. Den alternative nøgle eksisterer muligvis ikke. Hvis der kun er én kandidatnøgle i en relation, har den ikke en alternativ nøgle.
For eksempel, medarbejderrelation har to attributter, Employee_Id og PAN_No, der fungerer som kandidatnøgler. I denne relation er Employee_Id valgt som den primære nøgle, så den anden kandidatnøgle, PAN_No, fungerer som den alternative nøgle.
dvale dialekt
6. Sammensat nøgle
Når en primær nøgle består af mere end én attribut, er den kendt som en sammensat nøgle. Denne nøgle er også kendt som sammenkædet nøgle.
For eksempel, i medarbejderforhold antager vi, at en medarbejder kan være tildelt flere roller, og en medarbejder kan arbejde på flere projekter samtidigt. Så den primære nøgle vil være sammensat af alle tre attributter, nemlig Emp_ID, Emp_role og Proj_ID i kombination. Så disse attributter fungerer som en sammensat nøgle, da den primære nøgle omfatter mere end én attribut.
7. Kunstig nøgle
Nøglen oprettet ved hjælp af vilkårligt tildelte data er kendt som kunstige nøgler. Disse nøgler oprettes, når en primær nøgle er stor og kompleks og ikke har nogen relation til mange andre relationer. Dataværdierne for de kunstige nøgler er normalt nummereret i en seriel rækkefølge.
For eksempel, den primære nøgle, som er sammensat af Emp_ID, Emp_role og Proj_ID, er stor i medarbejderforhold. Så det ville være bedre at tilføje en ny virtuel attribut for at identificere hver tupel i relationen unikt.