Sut i Greu Allweddi Tramor yn Microsoft SQL Server

Un o'r cysyniadau pwysicaf mewn cronfeydd data yw creu perthynas rhwng tablau cronfa ddata. Mae'r perthnasoedd hyn yn darparu mecanwaith ar gyfer cysylltu data a storir mewn sawl tabl a'i adfer mewn ffordd effeithlon. Er mwyn creu dolen rhwng dau dabl, rhaid i chi nodi allwedd dramor mewn un tabl sy'n cyfeirio at golofn mewn tabl arall.

Tablau Cronfa Ddata a Pherthnasau

Efallai eich bod eisoes yn gwybod mai cyfres o dablau yn unig yw cronfeydd data, sy'n debyg i'r hyn y gallech ei ddefnyddio eisoes mewn rhaglen daenlen , fel Microsoft Excel. Mewn gwirionedd, gallwch hyd yn oed drawsnewid taenlen Excel i gronfa ddata. Lle mae cronfeydd data yn amrywio o daenlenni, fodd bynnag, o ran adeiladu perthynas bwerus rhwng tablau.

Ystyriwch, er enghraifft, gronfa ddata a ddefnyddir gan gwmni i olrhain gwybodaeth adnoddau dynol. Efallai y bydd gan y gronfa ddata honno bwrdd o'r enw Gweithwyr sy'n cynnwys y wybodaeth ganlynol ar gyfer pob aelod o staff y cwmni:

Yn yr enghraifft hon, mae'r ID gweithiwr yn gyfan gwbl a gynhyrchir yn unigryw a roddir i bob gweithiwr pan fyddant yn cael eu hychwanegu at y gronfa ddata. Cod adnabod yw ID adnabod y safle i gyfeirio swydd y gweithiwr yn y cwmni. Yn y cynllun hwn, dim ond un swydd y gall gweithiwr, ond gall gweithwyr lluosog (neu ddim) lenwi pob swydd. Er enghraifft, efallai y bydd gennych gannoedd o weithwyr gyda sefyllfa "Ariannwr".

Gallai'r gronfa ddata hefyd gynnwys tabl o'r enw Swyddi gyda'r wybodaeth ychwanegol ganlynol am bob sefyllfa:

Mae'r maes ID Sefyllfa yn y tabl hwn yn debyg i faes ID y Gweithiwr yn y tabl Gweithwyr - mae'n gyfan gwbl a gynhyrchir yn unigryw a grëir pan fydd swydd yn cael ei ychwanegu at y gronfa ddata.

Pan fyddwn yn mynd i dynnu rhestr o weithwyr o'r gronfa ddata, byddai'n naturiol gofyn am enw pob person a'u teitl. Fodd bynnag, mae'r wybodaeth hon yn cael ei storio mewn tablau cronfa ddata lluosog, felly gellir ei adfer yn unig gan ddefnyddio ymholiad JOIN sy'n gofyn am berthynas bresennol rhwng y tablau.

Pan edrychwch ar strwythur y tablau, mae'n debyg bod y maes sy'n diffinio'r berthynas yn amlwg - y maes ID Sefyllfa. Dim ond un sefyllfa sydd gan bob gweithiwr a dynodir y sefyllfa honno gan gynnwys yr ID Sefyllfa o gofnod cyfatebol y bwrdd Swyddi. Yn ychwanegol at fod yr allwedd gynradd ar gyfer y bwrdd Swyddi, yn yr enghraifft hon, mae'r maes ID Sefyllfa hefyd yn allwedd dramor o'r tabl Gweithwyr i'r bwrdd Swyddi. Yna gall y gronfa ddata ddefnyddio'r maes hwn i gyfateb gwybodaeth o fyrddau lluosog a sicrhau bod unrhyw newidiadau neu ychwanegiadau i'r gronfa ddata yn parhau i orfodi uniondeb atgyfeiriol .

Unwaith y byddwch wedi nodi'r allwedd dramor, gallwch fynd ymlaen a thynnu'r wybodaeth a ddymunir o'r gronfa ddata gan ddefnyddio'r ymholiad canlynol:

SELECT FirstName, LastName, Title FROM Employees INNER JOIN Positions ar Employees.PositionID = Positions.PositionID

Creu Allweddi Tramor yn SQL Server

Yn dechnegol, does dim rhaid i chi ddiffinio'r berthynas yn benodol i allu perfformio ymholiadau fel yr un uchod. Fodd bynnag, os ydych chi'n diffinio'n benodol y berthynas sy'n defnyddio cyfyngiad allweddol tramor, bydd y gronfa ddata yn gallu cyflawni rhywfaint o waith cadw tŷ ar eich cyfer chi:

Dyma sut y byddech chi'n creu'r allwedd dramor yn SQL Server:

CYFARWYDDIADAU GWEITHREDU ALLWEDDOL DROS ADDYSG ALLWEDDOL (SEFYDLIAD) Swyddi (Safle Swydd)

Efallai y byddwch hefyd yn creu allwedd dramor pan fyddwch yn creu tabl trwy ychwanegu'r cymal:

CYFARWYDDIADAU ALLWEDDOL DRWYDDEDD Swyddi (Safle Swydd)

hyd at ddiwedd diffiniad y golofn ar gyfer y golofn allwedd dramor.