Ang mga taga-disenyo ng database ay gumagamit ng mga susi sa pag-unlad ng database. Kabilang sa mga pinaka-karaniwan sa mga susi na ito ay mga pangunahing susi at banyagang mga susi. Ang isang database na banyagang susi ay isang patlang sa pamanggit na talahanayan na tumutugma sa pangunahing susi ng haligi ng isa pang talahanayan. Upang maunawaan kung paano gumagana ang isang banyagang susi, tingnan natin ang ideya ng isang pamanggit na database.
Ang ilang Mga Pangunahing Kaalaman ng Mga Relational Database
Sa isang pamanggit database, ang data ay naka-imbak sa mga talahanayan na naglalaman ng mga hilera at hanay, na ginagawang madali upang maghanap at manipulahin. Mayroong ilang malubhang matematika sa likod ng konsepto ng isang pamanggit na database (pamanggit algebra, na iminumungkahi ng E.F.
Codd sa IBM noong 1970), ngunit hindi iyon ang paksa ng artikulong ito.
Para sa mga praktikal na layunin (at non-mathematicians), isang relational database ang nag-iimbak ng mga kaugnay na data sa mga hilera at hanay. Karagdagang - at narito kung saan nakakakuha ito ng kawili-wiling - karamihan sa mga database ay dinisenyo upang ang data sa isang talahanayan ay maaaring ma-access ang data sa isa pang talahanayan. Ang kakayahang lumikha ng mga relasyon sa pagitan ng mga talahanayan ay ang tunay na kapangyarihan ng isang pamanggit database.
Paggamit ng mga Dayuhang Key
Karamihan sa mga talahanayan, lalo na sa mga malaki, komplikadong mga database, ay may pangunahing mga susi. Ang mga table na idinisenyo upang ma-access ang iba pang mga talahanayan ay dapat ding magkaroon ng isang banyagang susi.
Upang gamitin ang pangkalahatang-nabanggit na Northwinds database, narito ang isang sipi mula sa isang talahanayan ng Produkto:
ProductID | Pangalan ng Produkto | KategoryaID | QuantityPerU | Presyo ng isang piraso |
---|---|---|---|---|
1 | Chai | 1 | 10 mga kahon x 20 bag | 18.00 |
2 | Chang | 1 | 24 - 12 oz bottles | 19.00 |
3 | Aniseed Syrup | 2 | 12 - 550 bote ng ML | 10.00 |
4 | Chef Anton's Cajun Seasoning | 2 | 48 - 6 ans garapon | 22.00 |
5 | Gfo Anton's Gumbo Mix | 2 | 36 na mga kahon | 21.35 |
6 | Kumakalat ang Boysenberry ni Lola | 2 | 12 - 8 oz garapon | 25.00 |
7 | Ang Organic Dried Pears ni Uncle Bob | 7 | 12 - 1 lb pkgs. | 30.00 |
Ang ProductID Ang haligi ay pangunahing susi ng talahanayan na ito. Nagtatakda ito ng isang natatanging ID sa bawat produkto.
Naglalaman din ang talahanayan na ito ng isang banyagang hanay ng haligi, KategoryaID. Ang bawat produkto sa talahanayan ng Produkto ay nagli-link sa isang entry sa talahanayan ng Mga Kategorya na tumutukoy sa kategoryang produkto na iyon.
Tandaan ang sipi na ito mula sa table ng Mga Kategorya ng database:
KategoryaID | KategoryaName | Paglalarawan |
---|---|---|
1 | Inumin | Soft drinks, coffees, teas, beers, at ales |
2 | Condiments | Matamis at may masarap na mga sarsa, relishes, spreads, at seasonings |
3 | Confections | Dessert, candies, at sweetbreads |
5 | Mga produkto ng pagawaan ng gatas | Keso |
Ang haligi KategoryaID ang pangunahing susi ng hanay na ito. (Wala itong dayuhang susi dahil hindi na kailangang mag-access ng isa pang talahanayan.) Ang bawat banyagang susi sa talahanayan ng Produkto ay nag-uugnay sa isang pangunahing susi sa talahanayan ng Mga Kategorya. Halimbawa, ang produkto na Chai ay itinalaga sa kategoryang "Inumin", habang ang Aniseed Syrup ay nasa kategorya Condiments.
Ang ganitong uri ng pag-uugnay ay lumilikha ng isang napakaraming paraan upang gamitin at muling gamitin ang data sa isang pamanggit database.