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:
- ID Gweithiwr
- Enw cyntaf
- LastName
- OfficePhone
- HomePhone
- SwyddIDD
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:
- SwyddIDD
- Teitl
- JobLevel
- SgilCategori
- Lleoliad
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:
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:
- Pan fyddwch yn ychwanegu cofnod newydd i'r tabl Gweithwyr, bydd y gronfa ddata yn sicrhau bod yr ID Sefyllfa rydych chi'n ei nodi yn allwedd sylfaenol ddilys yn y tabl Swyddi.
- Os ydych chi'n newid ID Sefyllfa yn y tabl Swyddi, gall y gronfa ddata berfformio'r diweddariadau gofynnol i'r tabl Gweithwyr i gadw cysondeb.
- Gall y gronfa ddata ddiogelu yn erbyn effaith dileu swydd o'r bwrdd sefyllfa gan naill ai wrthod dileu swydd gyda chofnodion cyflogai cyfatebol neu berfformio dileu rhaeadr o'r holl weithwyr cysylltiedig.
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.