Panimula sa Mga Relasyon sa Database

Ang terminong database na "pamanggit" o "relasyon" ay naglalarawan ng paraan na konektado ang data sa mga talahanayan.

Ang mga bagong dating sa mundo ng mga database ay madalas na may isang hard oras na nakikita ang pagkakaiba sa pagitan ng isang database at isang spreadsheet. Nakikita nila ang mga talahanayan ng data at kinikilala na ang mga database ay nagpapahintulot sa iyo na mag-organisa at magtanong ng data sa mga bagong paraan, ngunit hindi maunawaan ang kahalagahan ng mga relasyon sa pagitan ng data na nagbibigay ng pamanggit na teknolohiya ng teknolohiya ng pangalan nito.

Pinapahintulutan ka ng mga Relasyon na ilarawan ang mga koneksyon sa pagitan ng iba't ibang mga talahanayan ng database sa magagaling na paraan. Ang mga relasyon na ito ay maaaring magamit upang magsagawa ng mga malalakas na mga query sa cross-table, na kilala bilang pagsali.

Mga Uri ng Mga Relasyon sa Database

May tatlong magkakaibang uri ng mga ugnayan sa database, bawat isa ay pinangalanan ayon sa bilang ng mga talahanayan ng talahanayan na maaaring kasangkot sa relasyon. Ang bawat isa sa mga tatlong uri ng relasyon ay umiiral sa pagitan ng dalawang talahanayan.

Mga Relasyon sa Pag-iisip sa Sarili: Isang Espesyal na Kaso

Ang mga relasyon sa pag-iugnay sa sarili ay nangyayari kapag may isang mesa lamang na kasangkot. Ang isang karaniwang halimbawa ay isang talahanayan ng Mga Empleyado na naglalaman ng impormasyon tungkol sa tagapangasiwa ng bawat empleyado. Ang bawat superbisor ay isa ring empleyado at may sariling superbisor. Sa kasong ito, may isang isa-sa-maraming relasyon sa pagtukoy sa sarili, dahil ang bawat empleyado ay may isang superbisor, ngunit ang bawat superbisor ay maaaring magkaroon ng higit sa isang empleyado.

Paglikha ng mga Relasyon sa Dayuhang Mga Key

Gumawa ka ng mga relasyon sa pagitan ng mga talahanayan sa pamamagitan ng pagtukoy ng isang banyagang susi . Ang susi na ito ay nagsasabi sa pamanggit na database kung paano nauugnay ang mga talahanayan. Sa maraming kaso, ang isang haligi sa Talaan A ay naglalaman ng pangunahing mga susi na isinangguni mula sa Table B.

Isaalang-alang muli ang halimbawa ng mga talahanayan ng Mga Guro at Mga Mag-aaral. Ang talahanayan ng mga guro ay naglalaman lamang ng ID, pangalan, at haligi ng kurso:

Mga guro
InstructorID Pangalan ng guro Kurso
001 John Doe Ingles
002 Jane Schmoe Math

Kasama sa talahanayan ng mga Estudyante ang isang ID, pangalan, at isang banyagang hanay ng haligi:

Mga mag-aaral
StudentID Pangalan ng estudyante Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

Ang haligi ng Teacher_FK sa mga talahanayan ng Mga Estudyante ay tumutukoy sa pangunahing pangunahing halaga ng isang magtuturo sa talahanayan ng mga Guro.

Kadalasan, gagamitin ng mga designer ng database ang "PK" o "FK" sa pangalan ng hanay upang madaling makilala ang isang pangunahing susi o dayuhang hanay ng haligi.

Tandaan na ang dalawang talahanayan ay naglalarawan ng isang isa-sa-maraming ugnayan sa pagitan ng mga guro at ng mga mag-aaral.

Relationships at Referential Integrity

Sa sandaling nagdagdag ka ng isang banyagang susi sa isang talahanayan, maaari kang lumikha ng isang hangganan ng database na nagpapatupad ng referential integridad sa pagitan ng dalawang talahanayan. Tinitiyak nito na ang mga relasyon sa pagitan ng mga talahanayan ay nananatiling pare-pareho Kapag ang isang talahanayan ay may isang banyagang susi sa isa pang talahanayan, ang konsepto ng referential integridad ay nagsasaad na ang anumang mga pangunahing halaga ng mga banyagang halaga sa Table B ay dapat sumangguni sa isang umiiral na talaan sa Table A.

Pagpapatupad ng mga Relasyon

Depende sa iyong database, pinapatupad mo ang mga relasyon sa pagitan ng mga talahanayan sa iba't ibang paraan. Ang Microsoft Access ay nagbibigay ng isang wizard na madali mong pinapayagan na mag-link ng mga talahanayan at upang ipatupad ang referential integridad.

Kung nagsusulat ka nang direkta sa SQL, gagawin mo muna ang talahanayan ng Mga Guro, na nagpapahayag ng haligi ng ID upang maging pangunahing susi:

LUMIKHA NG TALAAN Mga guro (

InstructorID INT AUTO_INCREMENT PRIMARY KEY,
Teacher_Name VARCHAR (100),
Kurso sa VARCHAR (100)
);

Kapag nililikha mo ang talahanayan ng Mga Mag-aaral, idineklara mo ang hanay ng Teacher_FK upang maging isang banyagang susi na tumutukoy sa haligi ng InstructorID sa talahanayan ng Mga Guro:

Gumawa ng TALAAN Mga mag-aaral (
StudentID INT AUTO_INCREMENT PRIMARY KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
FOREIGN KEY (Teacher_FK) MGA REFERENCES Mga Guro (InstruktorID))
);

Paggamit ng Mga Relasyon sa Sumali sa Mga Table

Sa sandaling nalikha mo ang isa o higit pang mga relasyon sa iyong database, maaari mong mapakinabangan ang kanilang kapangyarihan sa pamamagitan ng paggamit ng SQL JOIN na mga query upang pagsamahin ang impormasyon mula sa maraming mga talahanayan. Ang pinaka-karaniwang uri ng sumali ay isang SQL INNER JOIN, o isang simpleng pagsali. Ang ganitong uri ng sumali ay nagbabalik ng lahat ng mga talaan na nakakatugon sa kondisyon ng sumali mula sa maraming mga talahanayan. Halimbawa, ang kondisyon ng JOIN na ito ay babalik sa Student_Name, Teacher_Name, at Course kung saan tumutugma ang banyagang key sa mga mag-aaral sa pangunahing susi sa talahanayan ng Mga Guro:

Piliin ang Mga Mag-aaral.Student_Name, Mga Guro.Teacher_Name, Teacher.Course
MULA sa Mga Mag-aaral
INNER JOIN Teachers
ON Students.Teacher_FK = Teachers.InstructorID;

Ang pahayag na ito ay gumagawa ng isang talahanayan ng ganito:

Ang Returned Table mula sa SQL Sumali Statement

Student_NameTeacher_NameCourseLowell SmithJohn DoeEnglishBrian ShortJohn DoeEnglishCorky MendezJane SchmoeMathMonica JonesJohn DoeEnglish