Kijan Pou Kreye Etranje Keys nan Microsoft SQL sèvè

Youn nan konsèp ki pi enpòtan nan bazdone yo kreye relasyon ant tab baz done. Relasyon sa yo bay yon mekanis pou konekte done ki estoke nan tab miltip ak retwouve li nan yon fason efikas. Yo nan lòd yo kreye yon lyen ant de tab, ou dwe presize yon kle etranje nan yon sèl tab ki referans yon kolòn nan yon lòt tab.

Tablo Database ak Relasyon

Ou ta ka deja konnen ke baz yo se tou senpleman yon seri tab , menm jan ak sa ou ta ka deja itilize nan yon pwogram calcul , tankou Microsoft Excel. An reyalite, ou ka menm konvèti yon calcul Excel nan yon baz done. Ki kote baz done diverge soti nan tableur, sepandan, se lè li rive bati relasyon pwisan ant tab.

Konsidere, pou egzanp, yon baz done ki itilize pa yon konpayi yo swiv enfòmasyon resous imen. Dat sa a ta ka gen yon tab ki rele Anplwaye ki gen enfòmasyon sa yo pou chak manm nan anplwaye konpayi an:

Nan egzanp sa a, ID anplwaye a se yon nonb antye ki gen non inikman ki asiyen nan chak anplwaye lè yo ajoute nan baz done a. ID nan pozisyon se yon kòd travay ki itilize pou referans pozisyon anplwaye a nan konpayi an. Nan konplo sa a, yon anplwaye ka gen sèlman yon pozisyon, men anplwaye miltip (oswa pa gen okenn) ka ranpli chak pozisyon. Pou egzanp, ou ka gen dè santèn de anplwaye ki gen yon pozisyon "Cashier".

Baz done a ta ka gen ladan tou yon tab yo rele Positions ak enfòmasyon adisyonèl sa yo sou chak pozisyon:

Pozisyon ID la nan tablo sa a se menm jan ak anplwaye ID ID nan tablo anplwaye yo - li se yon nonb antye ki gen inikman ki kreye lè se yon pozisyon ajoute nan baz done a.

Lè nou ale nan rale yon lis anplwaye soti nan baz done a, li ta natirèl pou mande pou non chak moun nan ak tit yo. Sepandan, enfòmasyon sa a estoke nan tab baz done miltip, kidonk li ka sèlman dwe itilize lè l sèvi avèk yon sijè JOIN ki egzije yon relasyon ki egziste ant tab yo.

Lè ou gade nan estrikti tab yo, jaden an defini relasyon an se pwobableman evidan - jaden an ID Pozisyon. Chak anplwaye ka gen yon sèl pozisyon epi yo idantifye pozisyon sa a nan ki gen ladan ID Pozisyon an nan antre korespondan Tab Positions la. Anplis de sa ke yo te kle a prensipal pou tab la Positions, nan egzanp sa a, jaden an ID Pozisyon se tou yon kle etranje nan tablo an Anplwaye nan tab la Positions. Baz done a ka itilize jaden sa a pou li korelasyon enfòmasyon ki soti nan tab miltip epi asire ke nenpòt chanjman oswa ajoute nan baz done a kontinye ranfòse referans entegrite .

Yon fwa ou te idantifye kle a etranje, ou ka ale pi devan epi rale enfòmasyon an vle soti nan baz done a lè l sèvi avèk sijè sa a:

Chwazi FirstName, LastName, Titè nan anplwaye INNER JOIN Pozisyon sou Anplwaye.PositionID = Positions.PositionID

Kreye Etranje Keys nan sèvè SQL

Teknikman, ou pa bezwen defini relasyon an klèman pou kapab fè demann tankou yon sèl ki anwo a. Sepandan, si ou fè klèman defini relasyon an lè l sèvi avèk yon kontrent etranje etranje, baz done a yo pral kapab fè kèk travay kenbe pou ou:

Men ki jan ou ta kreye kle a etranje nan SQL sèvè:

ALTÈ TABL Anplwaye ADD ANE KLE (PozisyonID) REFERANS Pozisyon (PositionID)

Ou ka kreye tou yon kle etranje lè ou kreye yon tab lè ou ajoute kloz la:

REFERANS KI KONSÈY KI ANSANM Pozisyon (PositionID)

nan fen a nan definisyon an kolòn pou kolòn nan etranje etranje yo.