Мэдээллийн сангийн "харилцан хамаарал" эсвэл "харилцан хамаарал" гэсэн нэр томъёо нь хүснэгтэд байгаа өгөгдлүүдийг холбох арга замыг тайлбарладаг.
Өгөгдлийн сангийн ертөнцөд шинээр ирсэн хүмүүс ихэвчлэн мэдээллийн сан болон хүснэгт хоорондын ялгааг олж харахад хэцүү байдаг. Тэд өгөгдлийн хүснэгтийг харж, өгөгдлийн сангуудыг зохион байгуулж, шинэ аргаар мэдээлэл хайхыг зөвшөөрдөг боловч өгөгдлийн сангийн өгөгдлийн технологийн нэрийг өгөгдөл хоёрын хоорондох хамаарлын ач холбогдлыг ойлгохгүй байхыг олж мэднэ.
Харилцаа холбоо нь янз бүрийн мэдээллийн баазын хүснэгтийг хүчирхэг аргаар холбох боломжийг танд олгоно. Эдгээр холболтууд нь joins гэгддэг хүчирхэг cross-table queries хийхэд хөшүүрэг болдог.
Мэдээллийн сангийн харилцааны төрөл
Гурван төрлийн өгөгдлийн сангийн харилцан хамаарал байдаг бөгөөд тэдгээр нь харилцан хамааралтай байж болох хүснэгтийн эгнээний тоогоор нэрлэгдсэн байна. Эдгээр гурван харилцааны төрөл тус бүр нь хоёр хүснэгтээс тогтдог.
- Эхний хүснэгтийн оруулга бүр нэг, хоёр дахь хүснэгтийн зөвхөн нэг нь байхад нэгийг харьцах харьцаа гардаг. Нэгийг харьцах харьцаа нь ховорхон хэрэглэгддэг тул бүх мэдээллийг нэг ширээнд оруулах нь үр дүнтэй байдаг. Зарим мэдээллийн баазын дизайнерууд энэ харилцааны давуу талыг ашиглаж өөр ширээнээс өгөгдлүүдийн багцыг агуулсан хүснэгтүүдийг үүсгэдэг.
- Нэгээс олон харьцаа нь мэдээллийн сангийн хамгийн түгээмэл хэлбэр юм. Эдгээрийг Хүснэгт А-д бичсэн тэмдэглэлүүд нь Хүснэгт В-д байгаа нэг буюу хэд хэдэн тэмдэглэлтэй нийцэх үед тохиолддог боловч Хүснэгт Б дэх тэмдэглэл тус бүр нь Хүснэгт A-д зөвхөн нэг тэмдэглэлтэй хамааралтай байдаг. Жишээлбэл, Багшийн хүснэгт ба Бага сургуулийн сурагчдын хүснэгт хоорондын хамаарал Өгөгдлийн сан нь нэг хүнтэй харьцаатай байх магадлалтай. Яагаад гэвэл нэг оюутан ганц багштай байдаг, гэхдээ багш бүр олон оюутантай байдаг. Энэ нэгээс олон загвар нь давхардсан өгөгдлийг устгахад тусалдаг.
- Хүснэгт А дэхь тэмдэглэл бүр нь B хүснэгтэнд байгаа нэг буюу хэд хэдэн бүртгэлтэй нийцэж байгаа ба Хүснэгт Б дэх тэмдэглэл бүр нь Хүснэгт А-д нэг буюу хэд хэдэн тэмдэглэлтэй нийцэж байгаа үед олон тооны харьцаа үүсдэг. Жишээ нь, Багш ба Сургалтын хоорондын харилцаа Багш бүр нэгээс олон хичээл зааж болох ба хичээл бүрт нэгээс олон багштай байж болно.
Өөртөө холбогдох харилцаа: Тусгай жишээ
Өөрөөр хэлбэл нэг л хүснэгтэд оролцдог бол өөрөө өөртөө хамааралтай харилцааг бий болгодог. Нэг нийтлэг жишээ бол ажилтан бүрийн ахлагчийн тухай мэдээллийг агуулдаг Ажилчдын хүснэгт юм. Хянан шалгагч бүр нь ажилтан мөн өөрөө удирдагчтай. Энэ тохиолдолд ажилтан бүр нэг удирдагчтай байдаг тул нэгээс олон ажилтантай харьцаа байдаг боловч хянагч бүр нэгээс илүү ажилтантай байж болно.
Гадаад харилцаатай холбоотой харилцаа тогтоох
Гадаад түлхүүр үсгээр хүснэгтийн хоорондын холбоог үүсгэдэг .Энэ түлхүүр нь холбоо хамаарлын өгөгдлийн сан хүснэгтүүд хэрхэн хамааралтайг хэлнэ. Ихэнх тохиолдолд, Хүснэгт А дэх багана нь Хүснэгт B.
Багш, оюутны хүснэгтний жишээг дахин авч үзье. Багш нарын хүснэгтэнд зөвхөн ID, нэр, курс баганыг агуулна.
Сургагч багшид | Багшийн нэр | Курс |
---|---|---|
001 | Жон Doe | Англи хэл |
002 | Жэйн Шмоу | Математик |
Оюутны хүснэгтэд ID, нэр, гадаад түлхүүр үг багтана.
StudentID | Student_Name | Багш нар |
---|---|---|
0200 | Лоуэлл Смит | 001 |
0201 | Брайн Богино | 001 |
0202 | Corky Mendez | 002 |
0203 | Моника Жонс | 001 |
Багшийн хүснэгтэд Багшийн хүснэгтэд Багшийн хүснэгтэд заасан багшийн үндсэн гол утгыг харуулсан.
Өгөгдлийн сангийн дизайнерууд нь "PK" эсвэл "FK" гэсэн баганын нэр дээр анхан шатны түлхүүр эсвэл гадаад түлхүүр баганыг амархан тодорхойлох болно.
Эдгээр хоёр хүснэгт нь багш нар болон сурагчдын хоорондох харьцааны нэг болохыг харуулав.
Харилцаа ба лавлагааны бүрэн бүтэн байдал
Хүснэгтэд гадаад түлхүүр нэмсэний дараа та хоёр хүснэгтийг хооронд нь холбоход бүрэн бүтэн байдлыг шаарддаг мэдээллийн баазыг үүсгэж болно. Энэ нь хүснэгтүүдийн хоорондох хамаарал хэвээр байх болно. Нэг хүснэгт нь өөр хүснэгтэд гадаад түлхүүрээр орсон үед, Хүснэгт В-д байгаа гадаад түлхүүр утга нь Хүснэгт А-д байгаа одоо байгаа бичлэгт хамаарах ёстой гэсэн лавлагааны бүрэн бүтэн байдлын концепцийг заасан байдаг.
Хэрэгжүүлэх харилцаа
Таны өгөгдлийн сангаас хамааран та хүснэгтүүдийн хоорондын харилцааг янз бүрийн аргаар хийж гүйцэтгэдэг. Microsoft Access нь хүснэгтийн холболтыг хялбарчилж, лавлахад бүрэн бүтэн байдлыг хэрэгжүүлэхийг танд олгодог цонх юм.
Хэрэв та SQL бичиж байгаа бол эхлээд хүснэгт багш нарыг үүсгэж, ID баганыг анхдагч түлхүүр болгон зарлах болно:
Багш нар
Сургагч ID INT AUTO_INCREMENT PRIMARY ҮНДСЭН,
Teacher_Name VARCHAR (100),
VARCHAR курс (100)
);
Оюутны хүснэгтийг үүсгэхдээ Багшийн хүснэгт дэх багшийн баганыг зааж өгсөн гадаад түлхүүр болох Teacher_FK баганыг зарлах болно.
ХҮҮХДҮҮДЭД ЗААВАР
StudentID INT AUTO_INCREMENT PRIMARY ҮНДСЭН,
Student_Name VARCHAR (100), Teacher_FK INT,
ГАДААН ГАЗАР (Teacher_FK) АРГА ХЭРЭГСЭЛ Багш нар (Сургагч багшид)
);
Хүснэгтүүдийг нэгтгэх харилцааг ашиглах
Мэдээллийн баазад нэг буюу түүнээс дээш тооны харилцаа үүсгэсний дараа та SQL JOIN асуултыг ашиглан олон хүснэгтээс мэдээллийг нэгтгэхийн тулд өөрийн хүчийг ашиглах боломжтой. Хамгийн түгээмэл хэлбэр нь SQL INNER JOIN, эсвэл энгийн нэгдэл юм. Энэ төрлийн нэгдэл нь олон хүснэгтээс нэгдэх нөхцлийг хангасан бүх бүртгэлийг буцаадаг. Жишээ нь, энэ JOIN нөхцөл нь Student_Name, Teacher_Name, Курс нь оюутнуудын хүснэгтийн гадаад түлхүүр нь Багшийн хүснэгт дэх үндсэн түлхүүртэй таарч байгаа тохиолдолд:
Students.Student_Name, Teachers.Teacher_Name, Teachers.Course сонгоно уу
Оюутнуудаас
Дотоод багш нар Багш нар
ON Students.Teacher_FK = Багш.InstructorID;
Энэ мэдэгдэл нь иймэрхүү маягийн хүснэгтийг үүсгэдэг:
SQL Join Statement-ээс буцах хүснэгт
Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish