Ang mga termino ng database na relational at relasyon ay naglalarawan sa paraan ng pagkonekta ng data sa mga talahanayan. Ang isang relational database ay binubuo ng isang serye ng dalawa o higit pang mga talahanayan na naka-link ng isang partikular na key. Ang isang relational database ay naiiba sa mga unstructured database, na karaniwan sa mga malalaking data na inisyatiba. Ang mga relational database ay may posibilidad na nangangailangan ng mahigpit na panuntunan tungkol sa kung paano tinukoy ang mga talahanayan at kung ano ang bumubuo ng isang wastong kaugnayan sa mga talahanayan.
Mga Uri ng Mga Relasyon sa Database
Ang mga relasyon ay nagbibigay-daan sa iyo na ilarawan ang mga koneksyon sa pagitan ng mga talahanayan ng database sa makapangyarihang mga paraan. Ang mga ugnayang ito ay maaaring gamitin upang magsagawa ng makapangyarihang mga cross-table na query, na kilala bilang JOINs.
May tatlong uri ng mga relasyon sa database, ang bawat isa ay pinangalanan ayon sa bilang ng mga row ng talahanayan na kasangkot sa relasyon. Ang bawat isa sa tatlong uri ng relasyon na ito ay umiiral sa pagitan ng dalawang talahanayan.
Ang
Ang
Bottom Line
Nagaganap ang mga relasyon sa pagre-refer sa sarili kapag mayroon lamang isang talahanayan na kasangkot. Ang isang karaniwang halimbawa ay isang talahanayan ng Mga Empleyado na naglalaman ng impormasyon tungkol sa superbisor ng bawat empleyado. Ang bawat superbisor ay isa ring empleyado at may superbisor. Sa kasong ito, mayroong one-to-many self-referencing relationship, dahil ang bawat empleyado ay may isang supervisor, ngunit ang bawat supervisor ay maaaring magkaroon ng higit sa isang empleyado.
Paggawa ng Mga Relasyon Gamit ang mga Banyagang Susi
Gumagawa ka ng mga ugnayan sa pagitan ng mga talahanayan sa pamamagitan ng pagtukoy ng foreign key. Ang key na ito ay nagsasabi sa relational database kung paano nauugnay ang mga talahanayan. Sa maraming pagkakataon, ang isang column sa Talahanayan A ay naglalaman ng mga pangunahing key na nire-reference mula sa Talahanayan B.
Isipin ang halimbawa ng mga talahanayan ng Mga Guro at Mag-aaral. Ang talahanayan ng Mga Guro ay naglalaman ng ID, pangalan, at column ng kurso:
InstructorID | Pangalan_Guro | Course |
001 | John Doe | English |
002 | Jane Schmoe | Math |
Ang talahanayan ng Mga Mag-aaral ay may kasamang ID, pangalan, at column ng foreign key:
StudentID | Pangalan_Mag-aaral | Teacher_FK |
0200 | Lowell Smith | 001 |
0201 | Brian Short | 001 |
0202 | Corky Mendez | 002 |
0203 | Monica Jones | 001 |
Ang column na Teacher_FK sa talahanayan ng Mga Mag-aaral ay tumutukoy sa pangunahing halaga ng pangunahing tagapagturo sa talahanayan ng Mga Guro. Kadalasan, gumagamit ang mga taga-disenyo ng database ng PK o FK sa pangalan ng column para tumukoy ng pangunahing key o foreign key na column.
Ang dalawang talahanayang ito ay naglalarawan ng isa-sa-maraming relasyon sa pagitan ng mga guro at mga mag-aaral.
Mga Relasyon at Referential Integrity
Pagkatapos magdagdag ng foreign key sa isang table, gumawa ng hadlang sa database na nagpapatupad ng referential integrity sa pagitan ng dalawang table. Tinitiyak ng hakbang na ito na ang mga ugnayan sa pagitan ng mga talahanayan ay mananatiling pare-pareho. Kapag ang isang table ay may foreign key sa isa pang table, ang referential integrity ay nangangailangan na ang anumang foreign key value sa Table B ay dapat sumangguni sa isang kasalukuyang record sa Table A.
Pagpapatupad ng Mga Relasyon
Depende sa iyong database, ipapatupad mo ang mga ugnayan sa pagitan ng mga talahanayan sa iba't ibang paraan. Nagbibigay ang Microsoft Access ng wizard na nagbibigay-daan sa iyong mag-link ng mga talahanayan at magpatupad din ng integridad ng referential.
Kung direkta kang sumusulat ng SQL, likhain muna ang talahanayang Mga Guro, na nagdedeklara ng column ng ID bilang pangunahing susi:
GUMAWA NG TABLE Mga Guro (InstructorID INT AUTO_INCREMENT PRIMARY KEY, Teacher_Name VARCHAR(100), Course VARCHAR(100));
Kapag ginawa mo ang talahanayan ng Mga Mag-aaral, idedeklara mo ang column na Teacher_FK bilang isang foreign key na tumutukoy sa column ng InstructorID sa talahanayan ng Mga Guro:
GUMAWA NG TABLE Mga Mag-aaral (StudentID INT AUTO_INCREMENT PRIMARY KEY, Student_Name VARCHAR(100), Teacher_FK INT, FOREIGN KEY (Teacher_FK)(Instructor_FK) REFERENID);
Paggamit ng Mga Relasyon para Sumali sa Mga Talahanayan
Pagkatapos lumikha ng isa o higit pang mga ugnayan sa iyong database, gamitin ang kanilang kapangyarihan sa pamamagitan ng paggamit ng mga query sa SQL JOIN upang pagsamahin ang impormasyon mula sa maraming talahanayan. Ang pinakakaraniwang uri ng pagsali ay isang SQL INNER JOIN, na isang simpleng pagsali. Ibinabalik ng ganitong uri ng pagsali ang lahat ng record na nakakatugon sa kondisyon ng pagsali mula sa isa o higit pang mga talahanayan.
Halimbawa, ibinabalik ng kondisyong ito ng JOIN ang Student_Name, Teacher_Name, at Course, kung saan ang foreign key sa Students table ay tumutugma sa primary key sa Teachers table:
PUMILI NG Mag-aaral. Pangalan_Mag-aaral, Guro. Pangalan_Guro, Guro. Kurso
MULA SA Mga Mag-aaral
INNER JOIN TeachersON Students. Teacher_FK=Teachers. InstructorID;
Ang pahayag na ito ay gumagawa ng isang talahanayan na katulad nito:
Pangalan_Mag-aaral | Pangalan_Guro | Course |
Lowell Smith | John Doe | English |
Brian Short | John Doe | English |
Corky Mendez | Jane Schmoe | Math |
Monica Jones | John Doe | English |