Pirms uzzināt atšķirību starp primāro atslēgu un svešo atslēgu, mācīsimies:
Kas ir atslēgas?
Atslēgas ir atribūts, kas palīdz noteikt relāciju (tabulu) rindā (tabulā). Tie ļauj jums atrast attiecības starp divām tabulām. Taustiņi palīdz unikāli identificēt tabulas rindu, kombinējot vienu vai vairākas šīs tabulas kolonnas. Datu bāzes atslēga ir noderīga arī, lai tabulā atrastu unikālu ierakstu vai rindu.
Kas ir datu bāzes attiecības?
Datu bāzes attiecības ir asociācijas starp vienu vai vairākām tabulām, kas izveidotas, izmantojot pievienošanās paziņojumus. To izmanto, lai efektīvi izgūtu datus no datu bāzes. Galvenokārt ir trīs veidu attiecības: 1) viens pret vienu, 2) viens pret daudziem, 3) daudz pret daudziem.
Kas ir primārā atslēga?
Galvenais atslēgas ierobežojums ir kolonna vai kolonnu grupa, kas unikāli identificē katru relāciju datu bāzes pārvaldības sistēmas tabulas rindu. Tas nevar būt dublikāts, kas nozīmē, ka tā pati vērtība tabulā nedrīkst būt redzama vairāk kā vienu reizi.
Tabulā var būt vairākas primārās atslēgas. Primāro atslēgu var definēt kolonnas vai tabulas līmenī. Ja izveidojat saliktu primāro atslēgu, tā jādefinē tabulas līmenī.
Kas ir Foreign Key?
Ārējā atslēga ir kolonna, kas izveido attiecības starp divām tabulām. Ārējās atslēgas mērķis ir saglabāt datu integritāti un ļautu pārvietoties starp diviem dažādiem entītijas gadījumiem. Tas darbojas kā savstarpēja atsauce starp divām tabulām, jo tā atsaucas uz citas tabulas primāro atslēgu. Katra datu bāzes attiecība ir jāatbalsta ar svešu atslēgu.
GALVENĀS ATŠĶIRĪBAS:
- Primārā atslēgas ierobežojums ir kolonna, kas unikāli identificē katru relāciju datu bāzes pārvaldības sistēmas tabulas rindu, savukārt ārējā atslēga ir kolonna, kas izveido attiecības starp divām tabulām.
- Primārā atslēga nekad nepieņem nulles vērtības, savukārt ārējā atslēga var pieņemt vairākas nulles vērtības.
- Tabulā var būt tikai viena primārā atslēga, savukārt tabulā var būt vairākas svešas atslēgas.
- Primārās atslēgas vērtību nevar noņemt no vecāku tabulas, savukārt ārējās atslēgas vērtību - no pakārtotās tabulas.
- Divās rindās nevar būt vienādas primārās atslēgas vērtības, no otras puses, svešā atslēgā var būt dublētas vērtības.
- Vērtību ievietošanai tabulas kolonnā nav ierobežojumu, vienlaikus ievietojot jebkuru vērtību svešās atslēgas tabulā, pārliecinieties, ka vērtība ir primārās atslēgas kolonnā.
Kāpēc izmantot primāro atslēgu?
Šeit ir primārās atslēgas izmantošanas mīnusi / priekšrocības:
- Primārās atslēgas galvenais mērķis ir identificēt katru ierakstu datu bāzes tabulā.
- Primāro atslēgu varat izmantot, ja neļaujat kādam ievadīt nulles vērtības.
- Dzēšot vai atjauninot ierakstus, tiks veikta jūsu norādītā darbība, lai pārliecinātos par datu integritāti.
- Veiciet ierobežošanas darbību, lai noraidītu vecāku tabulas dzēšanas vai atjaunināšanas darbību.
- Dati tiek sakārtoti grupētu indeksu secībā ikreiz, kad fiziski organizējat DBVS tabulu.
Kāpēc izmantot Foreign Key?
Šeit ir svarīgi ārzemju atslēgas izmantošanas iemesli:
- Ārzemju atslēgas palīdz migrēt entītijas, izmantojot primāro atslēgu no vecāku tabulas.
- Ārzemju atslēga ļauj sasaistīt divas vai vairākas tabulas kopā.
- Tas padara jūsu datu bāzes datus konsekventus.
- Ārvalstu atslēgu var izmantot, lai kolonnu vai kolonnu kombināciju saskaņotu ar primāro atslēgu vecāku tabulā.
- SQL svešās atslēgas ierobežojums tiek izmantots, lai pārliecinātos, vai datu vecāku atsauces integritāte sakrīt ar pakārtotās tabulas vērtībām.
Primārās atslēgas piemērs
Sintakse:
Zemāk ir primārās atslēgas sintakse:
CREATE TABLE(Column1 datatype,Column2 datatype, PRIMARY KEY (Column-Name).);
Šeit,
- Table_Name ir izveidojamās tabulas nosaukums.
- Column_Name ir tās kolonnas nosaukums, kurai ir galvenā atslēga.
Piemērs:
StudID | Rullis Nr | Vārds | Uzvārds | E-pasts |
---|---|---|---|---|
1 | 11 | Toms | Cena | Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript. |
2 | 12 | Niks | Raits | Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript. |
3 | 13 | Dana | Natans | Šī e-pasta adrese ir aizsargāta no mēstuļu robotiem. Lai to apskatītu, jums jābūt aktivizētam Javascript. |
Iepriekš minētajā piemērā mēs esam izveidojuši studentu tabulu ar kolonnām, piemēram, StudID, Roll No, First Name, Last Name un Email. StudID tiek izvēlēts kā galvenā atslēga, jo tā var unikāli identificēt citas tabulas rindas.
Ārējās atslēgas piemērs
Sintakse:
Zemāk ir ārējās atslēgas sintakse:
CREATE TABLE