Ārējo atslēgu jauda relāciju datu bāzēs

Ārējā atslēga paver durvis uz visu pasauli

Datu bāzes dizaineri plaši izmanto atslēgas, veidojot relāciju datu bāzes. Starp visbiežāk minētajiem taustiņiem ir galvenie atslēgas un ārējās atslēgas. Ārējās atslēgas datu bāze ir relāciju tabulā redzamais lauks, kas atbilst citas tabulas primārajai atslēgas kolonnai. Lai saprastu, kā darbojas ārējā atslēga, pievērsīsimies relāciju datu bāzes idejai.

Daži Relāciju datu bāzu pamati

Relāciju datubāzē dati tiek glabāti tabulās, kurās ir rindas un kolonnas, un to ir viegli meklēt un manipulēt. Pastāv nopietns matemātisks jautājums par relāciju datu bāzes jēdzienu (relatīvā algebra, ko piedāvā EF

IBM kodēts 1970. gadā), bet tas nav šī raksta tēma.

Praktiskajos nolūkos (un nemetēķiem) relāciju datu bāze rindās un slejās glabā "saistītos" datus. Turpmāk - un šeit tas ir interesants - visvairāk datu bāzēm ir izveidotas tā, lai dati vienā tabulā varētu piekļūt datiem citā tabulā. Šī spēja radīt attiecības starp tabulām ir relatīvās datubāzes patiesā jauda.

Ārējo taustiņu izmantošana

Lielākajai daļai tabulu, īpaši lielajās, sarežģītajās datu bāzēs, ir primārās atslēgas. Tabulām, kas ir izveidotas, lai piekļūtu citām tabulām, jābūt arī ārējai taustiņai.

Lai izmantotu vispārpieņemto Northwinds datu bāzi, šeit ir izvilkums no produktu tabulas:

Northwind datu bāzes produkta tabulas izvilkums
ProductID Produkta nosaukums KategorijaID NumberPerU Vienības cena
1 Chai 1 10 kastes x 20 somas 18.00
2 Čangs 1 24 - 12 collu pudeles 19.00
3 Anīsa sīrups 2 12 - 550 ml pudelītes 10.00
4 Chef Antona Cajun garšviela 2 48 - 6 oz burkas 22.00
5 Chef Anton's Gumbo Mix 2 36 kastes 21.35
6 Vecmāmiņas zaķapavārs 2 12 - 8 collu burkas 25.00
7 Uncle Bob's Organic Dried Bumbers 7 12 - 1 lb pkgs. 30.00

Sleja ProductID ir šī tabulas galvenā atslēga. Tas piešķir katram produktam unikālu ID.

Šajā tabulā ir arī ārējās atslēgas sleja, CategoryID . Katrs produkta tabulas nosaukums ir saistīts ar ierakstu Kategoriju tabulā, kurā definēta šī produkta kategorija.

Ņemiet vērā šo izrakstu no datubāzes kategoriju tabulas:

Northwind datu bāzes kategorijas tabulas izvilkums
KategorijaID Kategorijas nosaukums Apraksts
1 Dzērieni Bezalkoholiskie dzērieni, kafija, tējas, alus un ales
2 Garšvielas Saldas un garšas mērces, mērces, pastas un garšvielas
3 Konfektes Deserti, saldumi un saldie maizītes
5 Piena produkti Sieri

Sleja CategoryID ir šīs slejas primārā atslēga. (Tai nav ārējās atslēgas, jo tai nav nepieciešams piekļūt citai tabulai.) Katra ārējā atslēga Preces tabulā norāda uz primāro atslēgu kategoriju tabulā. Piemēram, produktam Chai tiek piešķirta kategorija "Dzērieni", bet Anīsa sīrups ir kategorijā Garšvielas.

Šāda saikne rada neskaitāmas iespējas izmantot un atkārtoti izmantot datus relāciju datubāzē.