Satura rādītājs:
Definīcija - ko nozīmē Foreign Key?
Ārzemju atslēga ir kolonna vai kolonnu grupa relāciju datu bāzes tabulā, kas nodrošina saikni starp datiem divās tabulās. Tas darbojas kā savstarpēja norāde starp tabulām, jo tā atsaucas uz citas tabulas galveno atslēgu, tādējādi izveidojot saikni starp tām.
Lielākā daļa relāciju datu bāzes sistēmu tabulu ievēro svešas atslēgas koncepciju. Sarežģītās datu bāzēs un datu noliktavās dati domēnā jāpievieno vairākās tabulās, tādējādi saglabājot attiecības starp tām. Referenciālās integritātes jēdziens ir iegūts no svešzemju atslēgas teorijas.
Ārzemju atslēgas un to ieviešana ir sarežģītāka nekā primārās atslēgas.
Techopedia skaidro Foreign Key
Visām kolonnām, kas darbojas kā sveša atslēga, saišu tabulā vajadzētu būt atbilstošai vērtībai. Ievietojot datus un noņemot datus no svešās atslēgas kolonnas, ir jāievēro īpaša piesardzība, jo neuzmanīga dzēšana vai ievietošana var sagraut attiecības starp abām tabulām.
Piemēram, ja ir divas tabulas - klients un pasūtījums, starp tām var izveidot attiecības, pasūtījumu tabulā ieviešot svešu atslēgu, kas norāda uz klienta ID klienta tabulā. Kolonna klienta ID pastāv gan klientu, gan pasūtījumu tabulās. Klienta ID pasūtījuma tabulā kļūst par ārvalstu atslēgu, atsaucoties uz primāro atslēgu klientu tabulā. Lai pasūtījuma tabulā ievietotu ierakstu, ir jāievēro svešās atslēgas ierobežojums. Mēģinājums ievadīt klienta ID, kas neatrodas klientu tabulā, neizdodas, tādējādi saglabājot tabulas atsauces integritāti.
Dažas ar svešzemju atslēgas darbībām saistītas atsauces darbības ir šādas:
- Kaskāde: ja vecāku tabulā tiek izdzēstas rindas, tiek izdzēstas arī atbilstošās svešzemju atslēgu kolonnas bērnu tabulā, izveidojot kaskādes dzēšanu.
- Iestatīt nulli: ja atsauces rinda vecāku tabulā tiek izdzēsta vai atjaunināta, atsauces rindā esošo svešzemju atslēgu vērtības ir iestatītas uz nulli, lai saglabātu atsauces integritāti.
- Aktivizētāji: Atsaukšanās darbības parasti tiek veiktas kā trigeri. Daudzos veidos ārvalstu galvenās darbības ir līdzīgas lietotāja noteiktiem aktivizētājiem. Lai nodrošinātu pareizu izpildi, pasūtītās atsauces darbības dažreiz tiek aizstātas ar līdzvērtīgām lietotāja definētām aktivizētājām.
- Iestatīt noklusējumu: šī atsauces darbība ir līdzīga "iestatīt nulli". Bērnu tabulā norādītās svešzemju atslēgu vērtības tiek iestatītas uz noklusējuma kolonnas vērtību, ja vecāku tabulā norādītā rinda tiek izdzēsta vai atjaunināta.
- Ierobežot: Šī ir normāla atsauces darbība, kas saistīta ar svešu atslēgu. Vecāku tabulas vērtību nevar izdzēst vai atjaunināt, ja vien citā tabulā uz to norāda sveša atslēga.
- Nekādas darbības: šī atsauces darbība ir līdzīga funkcijai "ierobežot" darbību, izņemot to, ka pārbaude bez darbības tiek veikta tikai pēc tam, kad mēģināts mainīt tabulu.
