Cyflwyniad i Gysylltiadau Cronfa Ddata

Mae'r term cronfa ddata "perthynas" neu "berthynas" yn disgrifio'r ffordd y mae'r data mewn tablau yn gysylltiedig.

Yn aml mae gan newydd-ddyfodiaid i fyd y cronfeydd data amser caled yn gweld y gwahaniaeth rhwng cronfa ddata a thaenlen. Maent yn gweld tablau o ddata ac yn cydnabod bod cronfeydd data yn caniatáu i chi drefnu ac ymholi data mewn ffyrdd newydd, ond nid ydynt yn deall arwyddocâd y berthynas rhwng data sy'n rhoi ei enw i dechnoleg cronfa ddata berthynas.

Mae perthnasoedd yn caniatáu i chi ddisgrifio'r cysylltiadau rhwng gwahanol dablau cronfa ddata mewn ffyrdd pwerus. Yna gellir ymyrryd â'r perthnasoedd hyn i berfformio ymholiadau traws-bwrdd grymus, a elwir yn ymuno.

Mathau o Gydberthnasau Cronfa Ddata

Mae yna dair gwahanol fath o berthynas â chronfa ddata, pob un yn cael ei enwi yn ôl nifer y rhesi bwrdd a allai fod yn rhan o'r berthynas. Mae pob un o'r tri math hwn o berthynas rhwng dau dabl.

Perthnasau Hunangyfeirio: Achos Arbennig

Mae perthnasoedd hunangyfeirio yn digwydd pan nad oes ond un tabl dan sylw. Un enghraifft gyffredin yw tabl Gweithwyr sy'n cynnwys gwybodaeth am oruchwyliwr pob gweithiwr. Mae pob goruchwyliwr hefyd yn gyflogai ac mae ganddo oruchwyliwr ei hun. Yn yr achos hwn, mae perthynas hunan-gyfeirio un-i-lawer, gan fod gan bob gweithiwr un goruchwyliwr, ond gall fod gan bob goruchwyliwr fwy nag un gweithiwr.

Creu Perthynas â Allweddi Tramor

Rydych yn creu perthnasoedd rhwng tablau trwy nodi allwedd dramor . Mae'r allwedd hon yn dweud wrth y gronfa ddata berthynas sut mae'r tablau'n gysylltiedig. Mewn llawer o achosion, mae colofn yn Nhabl A yn cynnwys allweddau sylfaenol y cyfeirir atynt o Dabl B.

Ystyriwch eto esiampl tablau Athrawon a Myfyrwyr. Mae tabl Athrawon yn cynnwys dim ond ID, enw a cholofn cwrs:

Athrawon
InstructorID Teacher_Name Cwrs
001 John Doe Saesneg
002 Jane Schmoe Math

Mae tabl Myfyrwyr yn cynnwys ID, enw a cholofn allwedd dramor:

Myfyrwyr
StudentID Myfyriwr_Name Athrawes_FK
0200 Lowell Smith 001
0201 Brian Byr 001
0202 Corky Mendez 002
0203 Monica Jones 001

Mae'r golofn Teacher_FK yn y tabl Myfyrwyr yn cyfeirio at brif allwedd hyfforddwr yn y tabl Athrawon.

Yn aml, bydd dylunwyr cronfa ddata yn defnyddio "PK" neu "FK" yn enw'r golofn i adnabod allwedd gynradd neu golofn allwedd dramor yn hawdd.

Sylwch fod y ddau dabl hyn yn dangos perthynas un-i-lawer rhwng yr athrawon a'r myfyrwyr.

Perthnasoedd a Uniondeb Refferegol

Unwaith y byddwch chi wedi ychwanegu allwedd dramor i dabl, gallwch wedyn greu cyfyngiad cronfa ddata sy'n gorfodi uniondeb cyfeiriol rhwng y ddau dabl. Mae hyn yn sicrhau bod y berthynas rhwng y tablau yn parhau'n gyson. Pan fo un tabl ag allwedd dramor i fwrdd arall, dywed y cysyniad o gonestrwydd cyfeiriol y dylai unrhyw werth allweddol tramor yn Nhabl B gyfeirio at gofnod presennol yn Nhabl A.

Gweithredu Perthnasoedd

Yn dibynnu ar eich cronfa ddata, rydych chi'n gweithredu perthnasoedd rhwng tablau mewn gwahanol ffyrdd. Mae Microsoft Access yn darparu dewin sy'n hawdd eich galluogi i gysylltu tablau ac i orfodi uniondeb atgyfeiriol hefyd.

Os ydych chi'n ysgrifennu SQL yn uniongyrchol, byddech yn gyntaf yn creu tabl Athrawon, gan ddatgan colofn adnabod fel prif allwedd:

CREATE TABL Athrawon (

CYFARWYDDWR CYNRADD INT AUTO_INCREMENT InstructorID,
Teacher_Name VARCHAR (100),
Cwrs VARCHAR (100)
);

Pan fyddwch yn creu tabl Myfyrwyr, rydych chi'n datgan bod y golofn Teacher_FK yn gyfeiriad allweddol tramor i'r golofn InstructorID yn y tabl Athrawon:

CREATE TABL Myfyrwyr (
PRIFYSGOL CYNRADD,
Student_Name VARCHAR (100), Teacher_FK INT,
CYFEIRIADAU ALLWEDDOL ALLWEDDOL (Teacher_FK) Athrawon (HyfforddwrID))
);

Defnyddio Perthnasau i Ymuno â Thablau

Unwaith y byddwch chi wedi creu un neu ragor o berthynas yn eich cronfa ddata, gallwch chi alluogi eu pŵer trwy ddefnyddio ymholiadau SQL YMUNO i gyfuno gwybodaeth o dablau lluosog. Y math mwyaf cyffredin o ymuno yw JONER SQL JOIN, neu ymuno'n syml. Mae'r math hwn o ymuno yn dychwelyd pob cofnod sy'n bodloni'r amod ymuno o nifer o dablau. Er enghraifft, bydd yr amod hwn yn dychwelyd y Student_Name, Teacher_Name, a'r Cwrs lle mae'r allwedd dramor yn y tabl Myfyrwyr yn cyfateb i'r allwedd gynradd yn y tabl Athrawon:

SELECT. Students.Student_Name, Teachers.Teacher_Name, Teachers.Course
O Fyfyrwyr Myfyrwyr
CYSYLLTWCH Â DYSGU
AR Students.Teacher_FK = Athrawon.InstructorID;

Mae'r datganiad hwn yn cynhyrchu bwrdd rhywbeth fel hyn:

Y Dychweliad Tabl o'r SQL Ymunwch â'r Datganiad

Student_NameTeacher_NameCourseLowell SmithJohn DoEnglishBrian ShortJohn DoEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoEnglish