Ā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:
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:
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ē.