Raktai yra pagrindiniai reliacinės duomenų bazės elementai, nes jie nustato ryšį tarp lentelių poros ir užtikrina, kad kiekvienas lentelės įrašas būtų unikaliai identifikuojamas. Raktai turi ypatingesnę reikšmę nei ryšių užmezgimas; jie taip pat padeda palaikyti vientisumą ir yra pagrindinė lentelės lygio vientisumo sudedamoji dalis. Lentelėse juose saugomi didžiuliai duomenų fragmentai, kurie paprastai apima tūkstančius įrašų, kurie visi yra nerūšiuoti ir netvarkingi. Tam tikrus duomenis iš tų daugybės įrašų išgauti gali būti sunku arba kartais neįmanoma. Čia raktai ateina į nuotrauką. Čia nagrinėsime du labai svarbius reliacinių duomenų bazių schemų raktus ir skirtumą tarp jų: pirminį raktą ir svetimą raktą..
Pagrindinis raktas yra specialus raktas, kuris unikaliai identifikuoja kiekvieną lentelės įrašą. Reliacinėje duomenų bazėje labai svarbu kiekvienoje lentelės eilutėje turėti unikalų identifikatorių, o pirminis raktas yra tik tas dalykas, kurio reikia norint unikaliai identifikuoti lentelės elementą. Juosta parodo reikšmių atributų rinkinį reliacinėje duomenų bazėje. Pirminis raktas gali reikšti stulpelį arba stulpelių rinkinį reliacinėje duomenų bazės lentelėje, naudojamai netiesiogiai identifikuoti visus lentelės įrašus. Pagrindinis raktas turi būti unikalus kiekvienam įrašui, nes jis veikia kaip unikalus identifikatorius ir jame neturėtų būti Null reikšmių. Kiekvienoje duomenų bazėje turi būti vienas ir tik vienas pagrindinis raktas.
Svetimas raktas reiškia lauką ar laukų rinkinį duomenų bazės įraše, kuris vienareikšmiškai identifikuoja kitos duomenų bazės įrašo rakto lauką kitoje lentelėje. Paprastai tariant, jis nustato ryšį tarp įrašų dviejose skirtingose lentelėse duomenų bazėje. Tai gali būti lentelės stulpelis, nurodantis pirminio rakto stulpelius, reiškiančius, kad lentelėje apibrėžtas svetimas raktas nurodo pirminį kitos lentelės raktą. Nuorodos yra nepaprastai svarbios reliacinėse duomenų bazėse norint nustatyti ryšius tarp įrašų, o tai yra svarbu rūšiuojant duomenų bazes. Užsienio raktai vaidina svarbų vaidmenį normalizuojant reliacinę duomenų bazę, ypač kai lentelėms reikia prieiti prie kitų lentelių.
Pagrindinis raktas yra specialus raktas reliacinėje duomenų bazėje, veikiantis kaip unikalus kiekvieno įrašo identifikatorius, reiškiantis, kad jis unikaliai identifikuoja kiekvieną lentelės eilutę / įrašą, o jo vertė turėtų būti unikali kiekvienai lentelės eilutei. Kita vertus, svetimas raktas yra vienos lentelės laukas, sujungiantis dvi lenteles. Tai reiškia stulpelį arba stulpelių grupę, kuri vienareikšmiškai identifikuoja kitos lentelės ar tos pačios lentelės eilutę.
Pirminis raktas unikaliai identifikuoja įrašą reliacinėje duomenų bazės lentelėje, tuo tarpu svetimas raktas nurodo laukelio lauką, kuris yra pirminis kitos lentelės raktas. Pirminis raktas turi būti unikalus, o lentelėje, kurią reikia apibrėžti, leidžiama naudoti tik vieną pirminį raktą, tuo tarpu lentelėje leidžiama naudoti daugiau nei vieną svetimą raktą..
Pagrindinis raktas yra UNIQUE ir Not Null apribojimų derinys, todėl negalima leisti, kad santykinių duomenų bazių lentelės pirminio rakto laukelyje būtų dubliuotų verčių. Negalima dviejose eilutėse turėti pirminio rakto atributo verčių kopijų. Skirtingai nuo pirminio rakto, užsienio raktą gali sudaryti pasikartojančios reikšmės, o reliacinėje duomenų bazėje esančioje lentelėje gali būti daugiau nei svetimas raktas.
Vienas pagrindinių skirtumų tarp šių dviejų yra tas, kad skirtingai nei pirminiai raktai, užsienio raktuose taip pat gali būti NULL reikšmių. Reliacinės duomenų bazės lentelė gali turėti tik vieną pirminį raktą, kuris neleidžia NULL reikšmių.
Pagrindinio rakto apribojimas gali būti netiesiogiai apibrėžtas laikinosiose lentelėse ir jų kintamuosiuose, tuo tarpu užsienio rakto apribojimas negali būti vykdomas vietinėse ar visuotinėse laikinose lentelėse..
Pirminės rakto vertės negalima ištrinti iš tėvų lentelės, kuri antrinėje lentelėje vadinama svetimu raktu. Prieš pašalindami tėvų lentelę, pirmiausia turite ištrinti vaikų lentelę. Priešingai, svetimo rakto vertę galima ištrinti iš antrinės lentelės, net jei ji yra nurodyta pirminiam tėvų lentelės raktui..
Raktai vaidina lemiamą vaidmenį egzistuojant duomenų bazių schemoms, siekiant užmegzti ryšius tarp lentelių ir lentelės viduje. Raktai užmezga ryšius ir įgyvendina įvairių tipų vientisumą, ypač stalo ir santykių lygio vientisumą. Pirma, jie įsitikina, kad lentelėje yra unikalių įrašų, o laukuose, kuriuos naudojate santykiams tarp lentelių nustatyti, turi būti atitikimo vertės. Pirminis raktas ir svetimas raktas yra du svarbiausi ir dažniausiai pasitaikantys raktų tipai, naudojami reliacinėse duomenų bazėse. Pirminis raktas yra specialus raktas, naudojamas unikaliam lentelės įrašų identifikavimui, tuo tarpu užsienio raktas naudojamas ryšiams tarp dviejų lentelių nustatyti. Abi struktūros yra vienodos, tačiau reliacinių duomenų bazių schemose vaidina skirtingą vaidmenį.