Արտաքին բանալին դուռը բացում է տվյալների ամբողջ աշխարհում
Տվյալների շտեմարանների դիզայներները հիմնականում օգտագործում են կրկնօրինակ տվյալների բազաները: Այդ բանալիների ամենատարածված շրջանում հիմնական բանալիներն ու օտարերկրյա բանալիներն են: Տվյալների բազայի օտարերկրյա ստեղնը դաշտ է հարաբերական աղյուսակում, որը համապատասխանում է մեկ այլ աղյուսակի հիմնական բանալիների սյունին: Հասկանալ, թե ինչպես է օտարերկրյա բանալին աշխատում, եկեք ավելի սերտորեն նայենք հարաբերական տվյալների բազայի գաղափարին:
Հարաբերական տվյալների բազաների որոշ հիմունքներ
Հարաբերական տվյալների բազայում տվյալների պահվում են տողեր եւ սյունակներ պարունակող աղյուսակներ , որոնք հեշտացնում են որոնման եւ մանիպուլյացիայի ենթարկելու համար: Հարաբերական տվյալների բազայի հայեցակարգի հետեւում առկա է որոշակի լուրջ մաթեմատիկա (EF- ի առաջարկած հարաբերական հանրահաշիվ
Codd է IBM- ում 1970 թ.), Բայց դա սույն հոդվածի թեման չէ:
Գործնական նպատակների համար (եւ ոչ մաթեմատիկոսներ), հարաբերական տվյալների բազան պահում է «կապված» տվյալներ տողերի եւ սյունակների մեջ: Հետագա եւ այստեղ, որտեղ հետաքրքիր է, բազում տվյալների բազաներ մշակված են այնպես, որ մեկ աղյուսակում տվյալները կարողանան մուտք գործել այլ աղյուսակում: Աղյուսակների միջեւ փոխհարաբերությունները ստեղծելու ունակությունը հարաբերական բազայի իրական ուժն է:
Արտասահմանյան բանալիների օգտագործումը
Բազմաթիվ աղյուսակներ, հատկապես մեծ, բարդ տվյալների շտեմարաններում, ունեն առաջնային բանալիներ: Աղյուսակները, որոնք նախատեսված են այլ սեղաններ մուտք գործելու համար, պետք է ունենան նաեւ արտաքին բանալին:
Օգտագործել Northwinds- ի ընդհանուր տվյալների բազան, այստեղ բերված է հատվածը Product աղյուսակում.
ProductID- ը | Ապրանքային անուն | CategoryID- ը | Քանակականներ | Միավոր գինը |
---|---|---|---|---|
1 | Չայ | 1 | 10 տուփ x 20 տոպրակներ | 18.00 |
2 | Chang | 1 | 24 - 12 ունց շիշ | 19.00 |
3 | Անիսիդային օշարակ | 2 | 12 - 550 մլ շիշ | 10.00 |
4 | Chef Անտոնի կաջուն համեմունք | 2 | 48 - 6 ունց բանկա | 22.00 |
5 | Chef Անտոնի Gumbo Mix- ը | 2 | 36 տուփ | 21.35 |
6 | Տատիկի ծաղրածուի տարածումը | 2 | 12 - 8 ունց բանկա | 25.00 |
7 | Հորեղբոր Բոբի օրգանական չորացրած տանձ | 7 | 12-ից 1 նիշ pkgs: | 30.00 |
ProductID սյունակը այս աղյուսակի հիմնական բանալին է: Այն յուրաքանչյուր ապրանքի համար եզակի ID է նշանակում:
Այս աղյուսակը պարունակում է արտաքին բանալի սյուն, CategoryID : Ապրանքի աղյուսակի յուրաքանչյուր ապրանքը հղումներ է կատարում Կատեգորիաների աղյուսակում, որը սահմանում է այդ ապրանքի կատեգորիան:
Նշեք այս հատվածը տվյալների բազայի բաժինների աղյուսակում.
CategoryID- ը | CategoryName | Նկարագրություն |
---|---|---|
1 | Ըմպելիքներ | Ոչ ոգելից խմիչքներ, սուրճեր, թեյեր, պանիրներ եւ ալերներ |
2 | Համեմունքներ | Քաղցր եւ խրթխրթան սոուսներ, վերականգնում, տարածում եւ համեմունքներ |
3 | Կոնֆերանսներ | Դեսերտներ, կոնֆետներ եւ քաղցրավենիք |
5 | Կաթնամթերք | Պանիրները |
CategoryID- ի սյունակը այս սյունակի առաջնային բանալին է: (Այն արտասահմանյան բանալին չունի, քանի որ կարիք չկա այլ սեղանին մուտք գործելու համար): Ապրանքի աղյուսակում յուրաքանչյուր օտարերկրյա բանալին հղումներ է կատարում Կատեգորիաների սեղանի առաջնային բանալին: Օրինակ, Chai ապրանքը նշանակվում է «Ըմպելիքներ» կատեգորիա, իսկ Aniseed Syrup- ը գտնվում է «Համեմունքներ» կատեգորիայի մեջ:
Այսպիսի կապը ստեղծում է հարաբերական տվյալների բազայում տվյալների օգտագործման եւ վերաօգտագործման բազմաթիվ միջոցներ: