Ọ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 ibasepọ ọkan-si-ọkan waye nigba ti titẹ sii kọọkan ninu tabili akọkọ ni ọkan, ati pe ọkan, alabaṣepọ ni tabili keji. Awọn ibasepọ ọkan-si-ọkan kii ṣe lorun nitori o jẹ igbagbogbo siwaju sii lati fi gbogbo alaye naa sinu tabili kan. Diẹ ninu awọn apẹẹrẹ awọn ipilẹ data n lo anfani ti ibasepọ yii nipa sisẹ awọn tabili ti o ni folda ti awọn data lati tabili miiran.
- Awọn ibaraẹnisọrọ ọkan-si-ọpọlọpọ jẹ irujọ ti o wọpọ julọ ti ibasepọ ipilẹ. Wọn waye nigbati igbasilẹ kọọkan ninu Table A ni ibamu si awọn igbasilẹ kan tabi diẹ sii ni Ipari B, ṣugbọn igbasilẹ kọọkan ni Ipilẹ B baamu nikan ni igbasilẹ ninu Table A. Fun apẹẹrẹ, ibasepọ laarin tabili awọn olukọ ati tabili awọn ọmọde ni ile-iwe ile-iwe database yoo jẹ ibaṣepọ kan-si-ọpọlọpọ, nitori ọmọ-iwe kọọkan ni o ni olukọ kan nikan, ṣugbọn olukọ kọọkan ni awọn akẹkọ akẹkọ. Awọn itọsọna apẹẹrẹ ọkan-si-ọpọlọpọ ṣe iranlọwọ lati yọkuro awọn alaye ti a ti ṣatunkọ.
- Ọpọlọpọ awọn ibaraẹnisọrọ to pọ si waye nigbati igbasilẹ kọọkan ninu Table A ni ibamu si awọn igbasilẹ kan tabi diẹ sii ni Table B, ati igbasilẹ kọọkan ni Ipilẹ B ṣe deede si igbasilẹ kan tabi diẹ sii ni Table A. Fun apẹẹrẹ, ibasepọ laarin awọn Olukọ ati Awọn Ẹkọ tabili yoo jẹ ọpọlọpọ-si-pupọ nitori olukọ kọọkan le kọ ẹkọ diẹ ẹ sii ju ọkan lọ, ati pe olukọọkan kọọkan le ni ju olukọni lọ.
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:
| 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:
| 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