Pasiuna sa Database Relationships

Ang database nga termino nga "relational" o "relasyon" naghulagway sa paagi nga ang kasayuran sa mga lamesa konektado.

Ang mga bag-ong nangabot sa kalibutan sa mga database kasagarang naglisud sa pagkakita sa kalainan tali sa usa ka database ug usa ka spreadsheet. Nakita nila ang mga talaan sa datos ug nahibal-an nga ang mga database nagtugot kanimo sa pag-organisar ug pagpangutana sa mga datos sa bag-ong mga paagi, apan wala makasabot sa kahulogan sa mga relasyon tali sa mga datos nga naghatag sa relational database technology sa ngalan niini.

Ang mga relasyon makapahimo kanimo sa paghulagway sa koneksyon tali sa nagkalainlain nga mga lamesa sa database sa gamhanan nga mga paagi Kini nga mga relasyon mahimo nga magamit sa paghimo sa mga kusganon nga mga pangutana diha sa cross-table, nga gitawag nga joining.

Mga Basahon sa mga Kaugalingon sa Database

Adunay tulo ka lainlaing matang sa mga relasyon sa database, ang matag usa nga ginganlan sumala sa gidaghanon sa mga lumbay sa lamesa nga mahimong nalangkit sa relasyon. Ang matag usa niining tulo ka mga matang sa relasyon anaa sa taliwala sa duha ka mga lamesa.

Kaugalingon nga Pag-refer sa Kaugalingon: Usa ka Espesyal nga Kaso

Ang mga relasyon sa paghisgot sa kaugalingon mahitabo kon adunay usa lamang ka lamesa nga nalangkit. Usa ka kasagaran nga pananglitan mao ang usa ka empleyado nga lamesa nga adunay impormasyon bahin sa supervisor sa matag empleyado. Ang matag superbisor usa usab ka empleyado ug adunay iyang kaugalingong superbisor. Sa kini nga kaso, adunay usa ka usa ka sa-kaugalingon nga pagtandi sa relasyon, tungod kay ang matag empleyado adunay usa ka superbisor, apan ang matag superbisor mahimong adunay labaw sa usa ka empleyado.

Pagmugna og mga Relasyon nga may Langyaw nga mga Yawe

Gihimo nimo ang mga relasyon tali sa mga lamesa pinaagi sa pagtino sa usa ka langyaw nga yawe .Kini nga yugto nagsulti sa relational database kon giunsa nga ang mga lamesa adunay kalabutan. Sa daghang mga kaso, usa ka kolum sa Talaan A naglangkob sa nag-una nga mga yawe nga gipunting gikan sa Table B.

Hunahunaa pag-usab ang panig-ingnan sa mga lamesa sa mga Magtutudlo ug Estudyante. Ang mga lamesa sa mga Magtutudlo adunay sulod lamang nga ID, usa ka ngalan, ug kolum nga kurso:

Mga magtutudlo
InstructorID Teacher_Name Kurso
001 John Doe Iningles
002 Jane Schmoe Math

Ang mga Estudyante nga lamesa naglakip sa usa ka ID, ngalan, ug usa ka langyaw nga yunit nga kolum:

Mga estudyante
EstudyanteID Student_Name Teacher_FK
0200 Lowell Smith 001
0201 Brian Short 001
0202 Corky Mendez 002
0203 Monica Jones 001

Ang kolum nga Teacher_FK sa mga estudyante sa lamesa naghisgot sa nag-unang hinungdan nga bili sa instruktor sa lamesa sa mga Magtutudlo.

Kasagaran, ang mga designers sa database mogamit sa "PK" o "FK" sa ngalan sa kolum aron dali nga mailhan ang usa ka nag-unang yawe o langyaw nga yawe nga kolum.

Timan-i nga kining duha ka lamesa nag-ilustrar sa usa-ka-daghan nga relasyon tali sa mga magtutudlo ug sa mga estudyante.

Kaugalingon ug Mapakita nga Integridad

Sa higayon nga nagdugang ka og usa ka langyaw nga yawe sa usa ka lamesa, mahimo nimong mahimo ang usa ka pagpugong sa database nga nagpatuman sa mahinungdanong integridad tali sa duha ka mga lamesa. Kini nagsiguro nga ang mga relasyon tali sa mga lamesa nagpabilin nga makanunayon. Sa diha nga ang usa ka lamesa adunay usa ka langyaw nga yawe sa lain nga lamesa, ang konsepto sa referential integrity nag-ingon nga ang bisan unsang langyaw nga hinungdan nga bili sa Table B kinahanglan nga nagtumong sa usa ka kasamtangan nga rekord sa Table A.

Pagpatuman sa mga Relasyon

Depende sa imong database, imong gipatuman ang mga relasyon tali sa mga lamesa sa lainlaing paagi. Ang Microsoft Access naghatag og usa ka wizard nga dali nga nagtugot kanimo sa pag-link sa mga lamesa ug pagpatuman usab sa referential integridad.

Kon ikaw direkta nga nagsulat sa SQL, ikaw ang una nga maghimo sa lamesa nga Mga Magtutudlo, nga nagdeklara sa usa ka kolum sa ID nga mao ang pangunang butang:

PAGLIKAW SA TABANG MGA MAGTUTUDLO (

InstructorID INT AUTO_INCREMENT PRIMARYYONG KEY,
Teacher_Name VARCHAR (100),
Kursong VARCHAR (100)
);

Kon ikaw maghimo sa mga lamesa sa mga Estudyante, imong ipahayag ang kolum sa Teacher_FK nga usa ka langyaw nga yawe nga nagtumong sa kolum sa InstructorID sa lamesa sa mga Magtutudlo:

PAG-ILA SA TALAAN Mga Estudyante (
StudentID INT AUTO_INCREMENT PRIMARYYONG KEY,
Student_Name VARCHAR (100), Teacher_FK INT,
FORESIGN KEY (Teacher_FK) MGA REFERENCES Mga magtutudlo (InstruktorID))
);

Paggamit sa mga Relasyon sa Pag-apil sa mga Tables

Sa higayon nga imong gibuhat ang usa o daghan pa nga mga relasyon sa imong database, mahimo nimo ang paggamit sa ilang gahum pinaagi sa paggamit sa mga pangutana sa SQL JOIN aron mahiusa ang kasayuran gikan sa daghang mga lamesa. Ang labing kasagaran nga matang sa pag-apil mao ang SQL INNER JOIN, o usa ka simple nga pag-apil. Kini nga matang sa pag-abut mobalik sa tanan nga mga rekord nga makatagbo sa kondisyon sa pag-apil gikan sa daghang mga lamesa. Pananglitan, kini nga kondisyon sa JOIN mobalik sa Student_Name, Teacher_Name, ug Kurso diin ang foreign key sa mga estudyante sa lamesa nagatumbok sa pangunang yawe sa lamesa sa mga Magtutudlo:

PILILI ang mga estudyante.Student_Name, Teachers.Teacher_Name, Teachers.Course
GIKAN sa mga Estudyante
INNER JOIN Teachers
ON Students.Teacher_FK = Mga magtutudlo.InstructorID;

Kini nga pamahayag nagpakita sa usa ka lamesa nga sama niini:

Ang Returned Table gikan sa SQL Join Statement

Gikuha gikan sa "http://ceb.wikipedia.org/wiki/Maghalad"