Ifihan si Awọn Iṣọpọ Ibaralẹ

Ọrọ igbasilẹ data "ibatan" tabi "ibasepọ" ṣe apejuwe ọna ti a ti sopọ data ni awọn tabili.

Awọn Newcomers si aye ti awọn apoti isura infomesonu nigbagbogbo ni akoko lile lati ri iyatọ laarin database ati iwe kaunti. Wọn wo awọn tabili ti data ati ki o dabo pe awọn apoti isura infomesonu ngbanilaaye lati ṣeto ati data iwadi ni awọn ọna titun, ṣugbọn ko kuna lati mọ awọn ibaraẹnisọrọ ti o wa laarin data ti o fun imọ-ẹrọ imọ-ẹrọ pẹlu awọn orukọ rẹ.

Awọn ibasepọ gba ọ laaye lati ṣe apejuwe awọn isopọ laarin awọn oriṣi ipamọ data ni awọn ọna lagbara. Awọn ibaraẹnisọrọ wọnyi le jẹ ki wọn ni irọra lati ṣe awọn ibeere ti agbelebu agbelebu ti o lagbara, ti a mọ bi isopọ.

Awọn oriṣiriṣi Awọn Ibopọ Ibarapọ

Awọn oriṣiriṣi oriṣiriṣi oriṣiriṣi awọn ibaraẹnisọrọ data, kọọkan ti a npè ni gẹgẹbi nọmba awọn ori ila ti o le ni ipa ninu ibasepọ. Kọọkan ti awọn aami atọṣe mẹta wa laarin awọn tabili meji.

Awọn Iṣeduro Ifọrọwọrọ ara ẹni: Aranse Pataki

Awọn ibaraẹnisọrọ ara ẹni-ara ẹni waye nigba ti o wa ni tabili kan nikan. Ọkan apẹẹrẹ ti o wọpọ jẹ tabili ti Awọn iṣẹ ti o ni alaye nipa olutọju alaṣẹ kọọkan. Olutọju kọọkan jẹ tunṣiṣẹ kan ati pe o ni olutọju ara rẹ. Ni idi eyi, ibasepọ ọkan-si-ọpọlọpọ ni ara ẹni, bi olúkúlùkù ti ni olutọju kan, ṣugbọn olutọju kọọkan le ni ju ọkan lọ.

Ṣiṣẹda Awọn ìbáṣepọ pẹlu awọn bọtini ajeji

O ṣẹda awọn ibasepọ laarin awọn tabili nipa sisọ bọtini bọtini ajeji .Ti bọtini yii sọ fun database data ti o jẹ ibatan. Ni ọpọlọpọ igba, iwe kan ninu Table A ni awọn bọtini akọkọ ti a ṣe apejuwe lati Table B.

Tun ṣe ayẹwo lẹẹkansi awọn apẹẹrẹ ti awọn Olukọ ati Awọn ile-iwe Awọn akẹkọ. Oko Awọn olukọ ni o kan ID, orukọ kan, ati iwe itẹwe:

Awọn olukọ
Oluko Teacher_Name Itọsọna
001 John Doe Gẹẹsi
002 Jane Schmoe Isiro

Awọn ile-iwe Awọn akẹkọ pẹlu ID, orukọ, ati iwe itẹwe ajeji:

Awọn akẹkọ
StudentID Student_Name Teacher_FK
0200 Lowell Smith 001
0201 Brian Kukuru 001
0202 Corky Mendez 002
0203 Monica Jones 001

Iwe-iwe Teacher_FK ninu Awọn taabu Awọn ile-iwe ṣe afihan nọmba pataki ti olukọ ni Olukọ Olùkọ.

Nigbagbogbo, awọn apẹẹrẹ awọn ibi ipamọ data yoo lo "PK" tabi "FK" ni orukọ iwe-iṣọ lati ṣe afihan bọtini akọkọ kan tabi bọtini ikini ti ajeji.

Akiyesi pe awọn tabili meji yii ṣe afiwe ibasepọ ọkan-si-pupọ laarin awọn olukọ ati awọn ọmọ-iwe.

Awọn ibasepọ ati Iwa otitọ

Lọgan ti o ti fi kun bọtini ajeji si tabili kan, o le ṣẹda iyasọtọ data kan ti o ṣe atunṣe aifọwọyi atunṣe laarin awọn tabili meji. Eyi ni idaniloju pe awọn ibasepọ laarin tabili wa ni ibamu. Nigba ti tabili kan ba ni bọtini ajeji si tabili miiran, imọran ti ijẹrisi itẹsiwaju sọ pe eyikeyi iyipada bọtini ajeji ni Table B gbọdọ tọka si igbasilẹ ti o wa tẹlẹ ni Table A.

Imudojuiwọn Awọn Isopọ

Ti o da lori database rẹ, o ṣe awọn ibasepọ laarin awọn tabili ni ọna oriṣiriṣi. Wiwọle Microsoft n pese oluṣeto kan ti o ni rọọrun faye gba o lati sopọ mọ awọn tabili ati lati tun ṣe ifarada iduroṣinṣin.

Ti o ba kọwe SQL lẹsẹkẹsẹ, iwọ yoo kọkọ ṣe tabili Awọn olukọ, sọ pe iwe ID jẹ bọtini akọkọ:

Ṣẹda tabili Awọn olukọ (

Oluko ni AUTO_INCREMENT TI AWỌN,
Teacher_Name VARCHAR (100),
Idaraya VARCHAR (100)
);

Nigbati o ba ṣẹda tabili Awọn ọmọ-iwe, o sọ pe iwe Teacher_FK jẹ bọtini ajeji ti o ṣe afihan ẹka Oluko ni tabili awọn olukọ:

ṢEṢẸ TABLE Awọn akẹkọ (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
AWỌN AWỌN OWO (Teacher_FK) Awọn atunṣe Awọn olukọ (Olukọ))
);

Lilo awọn ajọṣepọ lati Darapo awọn tabili

Lọgan ti o ba ṣẹda ọkan tabi diẹ ẹ sii ibasepo ni database rẹ, o le mu agbara wọn ṣiṣẹ nipa lilo awọn ibeere ti o fẹsẹmu JOIN lati ṣopọ alaye lati awọn tabili pupọ. Orilẹ-ede ti o wọpọ julọ jumọ jẹ SQL INNER JOIN, tabi asopọ ti o rọrun. Iru iru-ẹgbẹ yii tun pada gbogbo awọn igbasilẹ ti o ni ibamu si ipo ti o darapọ lati awọn tabili pupọ. Fun apẹẹrẹ, Ipo JOIN yii yoo pada si Student_Name, Teacher_Name, ati Igbesi-aye ibi ti bọtini ajeji ninu tabili Awọn ọmọ-iwe baamu bọtini akọkọ ninu tabili Awọn olukọ:

ṢEWE Awọn ọmọ-iwe.Student_Name, Olùkọ.Teacher_Name, Olùkọ.Course
LATI ỌBA
NI AWỌN ỌMỌ NI
ON Awọn ọmọ-iwe.Teacher_FK = Olukọni.InstructorID;

Oro yii fun wa ni tabili bi eleyi:

Pada tabili lati Asopọ Abajade ti Asopọmọra

Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish