La Potenco de Eksterlandaj Ŝlosiloj en Relaciaj Datumbazoj

Eksterlanda ŝlosilo malfermas la pordon al tuta mondo de datumoj

La diseñadores de datumbazoj faras ampleksan uzon de ŝlosiloj kiam ili disvolvas datumbazojn relacionales. Inter la plej oftaj ŝlosiloj estas primaraj ŝlosiloj kaj eksterlandaj ŝlosiloj. Datumara eksterlanda ŝlosilo estas kampo en rilata tablo, kiu kongruas kun la ĉefa ŝlosila kolumno de alia tablo. Por kompreni kiel fremda ŝlosilo funkcias, ni rigardu pli proksime al la ideo de rilata datumbazo.

Kelkaj bazajxoj de Relaciaj Datumbazoj

En rilata datumbazo, datumoj estas stokitaj en tabuloj enhavantaj vicojn kaj kolumnojn, faciligante ĝin kaj manipuli ĝin. Estas iu serioza matematiko malantaŭ la koncepto de rilata datumbazo (rilata algebro, proponita de EF

Codd ĉe IBM en 1970), sed tio ne estas la temo de ĉi tiu artikolo.

Por praktikaj celoj (kaj ne-matematikistoj), rilata datumbazo tendencas "rilatajn" datumojn en vicoj kaj kolumnoj. Plue-kaj jen estas kie ĝi akiras interesa-plej datumbazoj estas desegnitaj tiel ke la datumoj en unu tablo povas aliri la datumojn en alia tablo. Ĉi tiu kapablo krei interrilatojn inter tabloj estas la vera potenco de rilata datumbazo.

Uzanta Eksterlandajn Ŝlosilojn

Plej multaj tabloj, precipe tiuj en grandaj, kompleksaj datumbazoj, havas primajn klavojn. Tabuloj, kiuj estas desegnitaj por aliri al aliaj tabloj, devas ankaŭ havi eksterlandan ŝlosilon.

Por uzi la komune nomitan Nordokcidentan datumbazon, jen ekstrakto de Produkta tablo:

La Produkta Tablo Eltiraĵo de la Norda-Hindia Datumaro
ProductID ProduktoName KategorioID KvantoPeru Prezo unuopa
1 Chai 1 10 skatoloj x 20 sakoj 18.00
2 Chang 1 24 - 12 oz boteloj 19.00
3 Anizita Syrup 2 12 - 550 ml boteloj 10.00
4 Chef Anton's Cajun Sezonado 2 48 - 6 oz-kruĉoj 22.00
5 Chef Anton's Gumbo-Miksaĵo 2 36 skatoloj 21.35
6 Abomenindaj infanoj de Grandma 2 12 - 8 oz-kruĉoj 25.00
7 Onklo Bob's Organic Dry Pears 7 12 - 1 lb pkgs. 30.00

La kolumno ProductID estas la ĉefa ŝlosilo de ĉi tiu tablo. Ĝi atribuas solan ID al ĉiu produkto.

Ĉi tiu tablo ankaŭ enhavas fremdan ŝlosilon, CategoryID . Ĉiu produkto en la Produkta tablo ligas al eniro en la Kategorioj-tablo, kiu difinas la kategorion de tiu produkto.

Notu ĉi tiun ekstrakton el la Kategorioj-tablo de la datumbazo:

Kategorioj de Nordamerika Datumaro Tabelo Eltiraĵo
KategorioID KategorioName Priskribo
1 Trinkaĵoj Molaj trinkaĵoj, kafoj, teoj, bieroj, kaj ales
2 Kondimentoj Dolĉaj kaj sovaĝaj saŭcoj, kovras, disvastiĝos kaj aĉaĵoj
3 Konfekcioj Desertoj, frandaĵoj kaj dolĉaj bukedoj
5 Laktaĵoj Fromaĝoj

La kolumno CategoryID estas la ĉefa ŝlosilo de ĉi tiu kolumno. (Ĝi ne havas eksterlandan ŝlosilon ĉar ĝi ne bezonas aliri alian tablon.) Ĉiu fremda ŝlosilo en la Produkta tablo ligas al primara ŝlosilo en la Kategorioj-tablo. Ekzemple, la produkto Chai estas atribuita kategorio "Trinkaĵoj", dum Aniseed Syrup estas en la kategorio Kondimentoj.

Ĉi tiu ligo kreas multajn manierojn uzi kaj reutiligi datumojn en rilata datumbazo.