Kako ustvariti tuje ključe v Microsoft SQL Server

Eden od najpomembnejših pojmov v podatkovnih bazah je ustvarjanje odnosov med tabelami baz podatkov. Ta razmerja zagotavljajo mehanizem za povezovanje podatkov, shranjenih v več tabelah, in njihovo učinkovito pridobivanje. Če želite ustvariti povezavo med dvema tabelama, morate v eni tabeli navesti tuji ključ, ki se nanaša na stolpec v drugi tabeli.

Podatkovne tabele in odnosi

Morda že veste, da so zbirke podatkov zgolj vrsta tabel , podobnih tistim, ki bi jih morda že uporabljali v programu za preglednice , kot je Microsoft Excel. Dejansko lahko celo pretvorite preglednico Excel v bazo podatkov. Kadar se podatkovne baze razlikujejo od preglednic, pa je, ko gre za izgradnjo močnih odnosov med tabelami.

Upoštevajte na primer zbirko podatkov, ki jo podjetje uporablja za spremljanje informacij o človeških virih. Ta zbirka podatkov ima lahko tabelo, imenovano Zaposleni, ki za vsakega člana osebja podjetja vsebuje naslednje podatke:

V tem primeru je ID delavca edinstveno ustvarjeno celo število, ki je dodeljeno vsakemu zaposlenemu, ko se doda v bazo podatkov. ID položaja je delovna koda, ki se uporablja za sklicevanje na položaj delavca v podjetju. V tej shemi ima lahko delavec samo en položaj, vendar lahko več (ali ne) zaposlenih izpolni vsak položaj. Na primer, lahko imate na stotine zaposlenih s položajem "Blagajna".

Baza podatkov lahko vsebuje tudi tabelo z imenom Pozicije z naslednjimi dodatnimi informacijami o posameznem položaju:

Polje ID polja v tej tabeli je podobno polju ID zaposlenca v tabeli Zaposleni - to je edinstveno ustvarjeno celo število, ki se ustvari, ko se položaj dodaja v bazo podatkov.

Ko gremo na seznam zaposlenih iz baze podatkov, bi bilo naravno zahtevati ime vsakega posameznika in njihov naslov. Vendar pa so te informacije shranjene v več tabelah baz podatkov, zato jih je mogoče pridobiti samo z iskanjem poizvedbe JOIN, ki zahteva obstoječe razmerje med tabelami.

Ko pogledate strukturo tabel, je polje, ki opredeljuje razmerje, verjetno očitno - Polje ID polja. Vsak zaposleni ima lahko samo en položaj in ta položaj se identificira z vključitvijo ID-ja položaja iz ustreznega vnosa razpredelnice Pozicije. Poleg tega, da je primarni ključ tabele Pozicije, je v tem primeru polje Položaj ID tudi tuji ključ iz tabele Zaposleni v tabelo Pozicije. Podatkovna baza lahko nato uporabi to polje za povezovanje informacij iz več tabel in zagotovi, da kakršne koli spremembe ali dodatki v bazi podatkov še naprej zagotavljajo referenčno integriteto .

Ko ste določili tuji ključ, lahko nadaljujete in potegnete želene informacije iz baze podatkov z naslednjo poizvedbo:

SELECT FirstName, LastName, Naslov FROM Zaposleni INNER JOIN Pozicije ON Employees.PositionID = Positions.PositionID

Ustvarjanje tujih ključev v SQL Server

Tehnično vam ni treba posebej določiti razmerja, da bi lahko opravljali poizvedbe, kot je zgoraj. Če pa izrecno določite razmerje z uporabo omejitve za tuje ključe, bo baza podatkov lahko izvedla nekaj dela za gospodinjstvo:

Tukaj je, kako boste ustvarili tuji ključ v SQL Serverju:

ALTER TABLE Zaposleni ADD STRANSKI KLJUČ (PositionID) REFERENCE Položaji (PositionID)

Prav tako lahko ustvarite tuji ključ, ko ustvarite tabelo tako, da dodate klavzulo:

TUJIH KLJUČNI REFERENCI Pozicije (PositionID)

do konca definicije stolpca za stolpec tujega ključa.