Sa unsa nga paagi sa Paghimo Foreigns Keys sa Microsoft SQL Server

Usa sa labing importante nga konsepto sa mga database mao ang pagmugna og mga relasyon tali sa database tables. Kini nga mga relasyon naghatag og usa ka mekanismo sa pag-link sa mga datos nga gitipigan sa daghang mga lamesa ug pagkuha sa kini sa maayo nga paagi. Aron makahimo og usa ka sumpay tali sa duha ka mga lamesa, kinahanglang ipaila ang usa ka langyaw nga yawe sa usa ka lamesa nga naghisgot sa usa ka kolum sa laing lamesa.

Database Tables ug Relasyon

Tingali nahibal-an mo nga ang mga database usa lamang ka serye sa mga lamesa , susama sa mahimo nimong gamiton sa programa sa spreadsheet , sama sa Microsoft Excel. Sa pagkatinuod, makahimo ka gani sa pag-convert sa spreadsheet sa Excel ngadto sa database. Kon diin ang mga database nga nagsabwag gikan sa mga spreadsheet, bisan pa niana, mao ang mahitungod sa pagtukod sa mga lig-on nga relasyon tali sa mga lamesa.

Pananglitan, pananglitan, usa ka database nga gigamit sa usa ka kompaniya aron masubay ang kasayuran sa tawhanong katungod. Kana nga database mahimo nga adunay lamesa nga gitawag nga Mga empleyado nga adunay mosunod nga impormasyon alang sa matag sakop sa kawani sa kompaniya:

Sa kini nga pananglitan, ang ID sa empleyado usa ka talagsaon nga binuhat nga integer nga gi-assign sa matag empleyado kung kini idugang sa database. Ang posisyon ID usa ka code sa trabaho nga gigamit sa paghisgot sa posisyon sa empleyado sa kompaniya. Niini nga laraw, ang usa ka empleyado adunay usa lamang ka posisyon, apan ang daghang (o dili) mga empleyado mahimong mopuno sa matag posisyon. Pananglitan, mahimo nga adunay gatusan ka mga empleyado nga adunay posisyon sa "Cashier".

Ang database mahimo usab nga adunay usa ka lamesa nga gitawag og Mga Posisyon nga adunay mosunod nga dugang nga kasayuran mahitungod sa matag posisyon:

Ang field sa Posisyon ID sa lamesa susama sa empleyado sa Employee ID sa mga talahanayan sa empleyado - usa kini ka talagsaon nga binuhat nga integer nga gimugna kung ang usa ka posisyon idugang sa database.

Sa diha nga kita moadto sa pagkuha sa usa ka listahan sa mga empleyado gikan sa database, natural nga mangayo sa ngalan sa matag tawo ug sa ilang titulo. Bisan pa, kini nga impormasyon gitipigan sa daghang mga talaan sa database, aron kini makuha lamang gamit ang JOIN nga pangutana nga nagkinahanglan sa kasamtangan nga relasyon tali sa mga lamesa.

Kon imong tan-awon ang istruktura sa mga lamesa, ang dapit nga nagpatin-aw sa relasyon tingali klaro - ang posisyon sa Posisyon ID. Ang matag empleyado adunay usa lamang ka posisyon ug kana nga posisyon giila pinaagi sa paglakip sa Posisyon ID gikan sa mga katukuran sa mga posisyon sa lamesa. Gawas pa sa panguna nga yawe sa mga lamesa sa mga posisyon, sa niini nga pananglitan, ang posisyon sa Posisyon ID usa usab ka langyaw nga yawe gikan sa mga empleyado sa lamesa ngadto sa mga lamesa sa mga posisyon. Ang dya nga database mahimo magamit sa sini nga talamnan agud magkat-on sang impormasyon gikan sa madamo nga mga lamesa kag masiguro nga ang bisan ano nga mga pagbag-o ukon pagdugang sa database nagapadayon sa pagpatuman sang referential integridad .

Sa higayon nga imong natino ang langyaw nga yawe, mahimo nimo nga ipadayon ug ibira ang gitinguha nga impormasyon gikan sa database gamit ang mosunod nga pangutana:

PILI FirstName, LastName, Titulo FROM Employees INNER JOIN Posisyon ON Employees.PositionID = Positions.PositionID

Paghimo sa mga Foreign Keys sa SQL Server

Sa tinuud, wala nimo kinahanglana nga ipatin-aw ang relasyon aron mahimo ang mga pangutana sama sa usa sa ibabaw. Hinoon, kon hayag nga ipasabut ang relasyon gamit ang usa ka langyaw nga pagpugong, ang database makahimo sa pagbuhat sa pipila ka buluhaton sa balay alang kanimo:

Ania kung unsaon nimo paghimo ang langyaw nga yawe sa SQL Server:

BAG-ONG TALAAN Ang mga empleyado nagdugang sa KEY FORMIGN (PosisyonID) Mga pagsabot nga posisyon (PositionID)

Mahimo usab ikaw maghimo og usa ka langyaw nga yawe kon maghimo ka og lamesa pinaagi sa pagdugang sa clause:

FOREIGN KEY REFERENCES Posisyon (PositionID)

sa katapusan sa kahulogan sa kolum alang sa langyaw nga yunit nga kolum.