J:
Kāda ir atšķirība starp salikto atslēgu, primāro atslēgu un ārzemju atslēgu?
A:Primārā atslēga tiek definēta kā atslēga vai datu bāzes kolonna, kas unikāli identificē katru datu bāzes tabulas rindu. Salikta atslēga ir vairāk nekā vienas atslēgas kopums, kas kopā unikāli identificē katru ierakstu.
No otras puses, sveša atslēga ir atslēga dažās tabulās, kas unikāli identificē rindas citā tabulā, vai, citiem vārdiem sakot, atslēga, kas izseko primārajai atslēgai citā tabulā.
Piemērs varētu būt māju saraksts nekustamā īpašuma tirgū. Labi sakārtotā datu bāzē jābūt primārajai atslēgai, kas unikāli identificē katru ierakstu. Varbūt tas ir saistīts ar datu bāzes sarežģītību.
Dažos gadījumos mājas var unikāli identificēt tikai ar hipotēkas numuru - visi pārējie dati (pilsētas, ielas, māju numuri) nav unikāli katram ierakstam. Galvenā atslēga būtu hipotēkas numurs. Pieņemsim, ka tomēr MLS nekustamo īpašumu darījumu tehnoloģija tabulas ierakstiem piešķir savus unikālos numurus. Tad būs divas atslēgas, kuras izstrādātāji varētu identificēt kā “kandidātu atslēgas”: hipotēkas numurs un MLS numurs. Vienu no tiem kvalificēs kā “galveno atslēgu” tajā, ko daži uzskatītu par patvaļīgu.
Tad saliktā atslēga būtu divu taustiņu kombinācija: piemēram, mājas numura un ielas kombinācija var tikt kvalificēta kā saliktā atslēga, ņemot vērā, ka tirgus saraksti ir lokāli. Ja tā, tad, kad kāds meklē, izmantojot gan mājas numuru, gan ielu, viņam vajadzētu saņemt tikai vienu ierakstu.
Tikmēr, ja saistītajā tabulā ir atslēga, piemēram, pircēja tabulā, tā norāda uz primāro atslēgu, tā būs sveša atslēga.
