Prieš sužinodami skirtumą tarp pirminio rakto ir užsienio rakto, sužinokime:
Kas yra raktai?
Raktai yra atributas, kuris padeda jums nustatyti eilutę (porą) santykyje (lentelėje). Jie leidžia jums rasti ryšį tarp dviejų lentelių. Raktai padeda unikaliai identifikuoti eilutę lentelėje, derinant vieną ar daugiau tos lentelės stulpelių. Duomenų bazės raktas taip pat naudingas norint rasti unikalų įrašą ar eilutę iš lentelės.
Kas yra ryšys su duomenų bazėmis?
Duomenų bazės ryšys yra susiejimas tarp vienos ar daugiau lentelių, sukurtų naudojant sujungimo sakinius. Jis naudojamas efektyviai gauti duomenis iš duomenų bazės. Pirmiausia yra trijų tipų santykiai: 1) vienas su vienu, 2) vienas prie daugelio, 3) daug iš daugelio.
Kas yra pagrindinis raktas?
Pagrindinis rakto apribojimas yra stulpelis arba stulpelių grupė, unikaliai identifikuojanti kiekvieną reliacinės duomenų bazės valdymo sistemos lentelės eilutę. Tai negali būti pasikartojimas, vadinasi, ta pati reikšmė lentelėje neturėtų būti rodoma daugiau nei vieną kartą.
Lentelėje gali būti daugiau nei vienas pagrindinis raktas. Pirminį raktą galima apibrėžti stulpelio arba lentelės lygiu. Jei kuriate sudėtinį pirminį raktą, jis turėtų būti apibrėžtas lentelės lygiu.
Kas yra „Foreign Key“?
Užsienio raktas yra stulpelis, sukuriantis ryšį tarp dviejų lentelių. Užsienio rakto tikslas yra išlaikyti duomenų vientisumą ir leisti naršyti tarp dviejų skirtingų subjekto egzempliorių. Jis veikia kaip kryžminė nuoroda tarp dviejų lentelių, nes ji nurodo pagrindinį kitos lentelės raktą. Kiekvieną duomenų bazės ryšį turėtų palaikyti svetimas raktas.
PAGRINDINIAI SKIRTUMAI:
- Pagrindinis rakto apribojimas yra stulpelis, kuris unikaliai identifikuoja kiekvieną reliacinės duomenų bazės valdymo sistemos lentelės eilutę, o užsienio raktas yra stulpelis, sukuriantis ryšį tarp dviejų lentelių.
- Pirminis raktas niekada nepriima nulinių verčių, o užsienio raktas gali priimti kelias nulines reikšmes.
- Lentelėje galite turėti tik vieną pagrindinį raktą, o lentelėje - kelis užsienio raktus.
- Pirminio rakto vertės negalima pašalinti iš pirminės lentelės, o užsienio rakto vertės - iš antrinės lentelės.
- Nei vienoje eilutėje negali būti identiškų pirminio rakto reikšmių, kita vertus, svetimame rakte gali būti pasikartojančios vertės.
- Nėra jokių apribojimų įterpiant vertes į lentelės stulpelį, o įterpiant bet kokią vertę į svetimo rakto lentelę, įsitikinkite, kad vertė yra pirminio rakto stulpelyje.
Kodėl naudoti pirminį raktą?
Štai pagrindinio rakto naudojimo trūkumai / privalumai:
- Pagrindinis pirminio rakto tikslas yra identifikuoti kiekvieną įrašą duomenų bazės lentelėje.
- Pirminį raktą galite naudoti, kai neleidžiate kam nors įvesti nulinių verčių.
- Jei ištrinsite arba atnaujinsite įrašus, bus atliktas nurodytas veiksmas, užtikrinantis duomenų vientisumą.
- Atlikite apribojimo operaciją, norėdami atmesti pirminės lentelės ištrynimo arba atnaujinimo operaciją.
- Duomenys yra tvarkomi sugrupuoto indekso seka, kai fiziškai tvarkote DBVS lentelę.
Kodėl verta naudoti Foreign Key?
Čia pateikiamos svarbios užsienio rakto naudojimo priežastys:
- Užsienio raktai padeda jums perkelti objektus naudojant pirminį raktą iš tėvų lentelės.
- Užsienio raktas leidžia susieti dvi ar daugiau lentelių.
- Tai daro jūsų duomenų bazės duomenis nuoseklius.
- Užsienio raktas gali būti naudojamas norint suderinti stulpelį ar stulpelių derinį su pagrindiniu raktu pagrindinėje lentelėje.
- SQL užsienio rakto suvaržymas naudojamas siekiant užtikrinti, kad duomenų pirminis duomenų referencinis vientisumas atitiktų antrinės lentelės reikšmes.
Pirminio rakto pavyzdys
Sintaksė:
Žemiau yra pirminio rakto sintaksė:
CREATE TABLE(Column1 datatype,Column2 datatype, PRIMARY KEY (Column-Name).);
Čia
- „Table_Name“ yra lentelės, kurią turite sukurti, pavadinimas.
- Column_Name yra stulpelio, kuriame yra pagrindinis raktas, pavadinimas.
Pavyzdys:
„StudID“ | Ritinys Nr | Pirmas vardas | Pavardė | El |
---|---|---|---|---|
1 | 11 | Tomas | Kaina | Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“. |
2 | 12 | Nikas | Meistras | Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“. |
3 | 13 | Dana | Natanas | Šis el. Pašto adresas yra apsaugotas nuo šiukšlų. Norėdami jį peržiūrėti, turite įgalinti „JavaScript“. |
Ankstesniame pavyzdyje mes sukūrėme studentų lentelę su tokiais stulpeliais kaip „StudID“, „Roll No“, First Name, Last Name ir Email. „StudID“ yra pasirinktas kaip pagrindinis raktas, nes jis gali unikaliai identifikuoti kitas lentelės eilutes.
Užsienio rakto pavyzdys
Sintaksė:
Žemiau yra užsienio rakto sintaksė:
CREATE TABLE