Database nga mga relasyon

Ang mga relasyon sa database mao ang backbone sa tanan nga mga relational nga mga database

Ang usa ka relasyon gitukod taliwala sa duha ka mga talaan sa database sa diha nga ang usa ka lamesa adunay usa ka langyaw nga yawe nga naghisgot sa pangunang yawe sa lain nga lamesa. Kini ang nag-unang konsepto sa likod sa termino nga relational database.

Kon sa Unsang Paagi Usa ka Langyaw nga Buluhaton ang Magtukod ug Kaugalingon

Susihon nato ang mga sukaranan sa panguna ug langyaw nga mga yawe. Usa ka nag-unang yawi nga talagsaong nagpaila sa matag rekord sa lamesa. Kini usa ka tipo sa kandidato nga kandidato nga kasagaran ang una nga kolum sa usa ka lamesa ug mahimo nga awtomatiko nga makuha sa database aron sa pagsiguro nga kini talagsaon.

Ang usa ka langyaw nga yawe mao ang lain nga kandidato nga kandidato (dili ang nag-una nga yawe) nga gigamit sa pag-link sa usa ka rekord sa datos sa lain nga lamesa.

Pananglitan, palandonga kining duha ka mga lamesa nga nagpaila kung kinsa nga magtutudlo ang nagtudlo nga dalan.

Dinhi, ang pangunang yawe sa Kurso nga lamesa mao ang Course_ID. Ang langyaw nga yawe mao ang Teacher_ID:

Mga kurso
Kurso_ID Course_Name Magtutudlo_ID
Kurso_001 Biology Teacher_001
Kurso_002 Math Teacher_001
Kurso_003 Iningles Magtutudlo_003

Imong makita nga ang langyaw nga yawe sa Mga Kurso nagkaparis sa pangunang yawe sa mga Magtutudlo:

Mga magtutudlo
Magtutudlo_ID Teacher_Name
Teacher_001 Carmen
Magtutudlo_002 Veronica
Magtutudlo_003 Jorge

Makasulti kita nga ang Teacher_ID nga langyaw nga yawe nakatabang sa pagtukod og relasyon tali sa mga lamesa sa Mga Kurso ug mga Magtutudlo.

Mga Basahon sa mga Kaugalingon sa Database

Gamit ang langyaw nga mga yawe, o uban nga mga yawe sa kandidato, mahimo nimo nga ipatuman ang tulo ka matang sa mga relasyon tali sa mga lamesa:

Usa-sa-usa : Kini nga matang sa relasyon nagtugot lamang sa usa ka rekord sa matag bahin sa relasyon.

Ang nag-una nga yawe nag-asoy sa usa lamang ka rekord - o wala - sa laing lamesa. Pananglitan, sa kaminyoon, ang matag kapikas adunay usa lamang nga kapikas. Kini nga matang sa relasyon mahimong ipatuman sa usa ka lamesa ug busa dili mogamit sa usa ka langyaw nga yawe.

Usa-sa-daghan : Ang usa ka sa usa ka relasyon nga nagtugot sa usa ka talaan sa usa ka lamesa nga adunay kalabutan sa daghang mga rekord sa laing lamesa.

Hunahunaa ang usa ka negosyo nga dunay database nga adunay mga kustomer ug mga Orders tables.

Ang usa ka customer mahimong mopalit og daghang mga order, apan ang usa ka order dili mahimong nalambigit sa daghang mga kustomer. Busa ang lamesa sa Orders maglangkob sa usa ka langyaw nga yawe nga nahiangay sa nag-unang yawe sa Customers nga lamesa, samtang ang mga Customers nga lamesa walay mga langyaw nga yawe nga nagtudlo sa lamesa sa Orders.

Daghan-sa-daghan : Kini usa ka komplikado nga relasyon diin daghang mga rekord sa usa ka lamesa ang mahimo nga may kalabutan sa daghang mga rekord sa laing lamesa. Pananglitan, ang atong negosyo tingali nagkinahanglan dili lamang sa mga Customers ug Orders nga mga lamesa, apan tingali usab nagkinahanglan og usa ka produkto nga lamesa.

Pag-usab, ang relasyon tali sa mga Customers and Orders nga lamesa usa ka sa daghan, apan hunahunaa ang relasyon tali sa Orders and Products table. Ang usa ka order mahimong maglakip sa daghang mga produkto, ug ang usa ka produkto mahimong nalambigit sa daghang mga order: ang pipila ka mga kustomer mahimo nga mosumiter sa usa ka order nga naglangkob sa pipila sa susamang mga produkto. Kini nga matang sa relasyon nagkinahanglan labing dyutay tulo ka lamesa.

Unsa ang Hinungdanon nga mga Relasyon sa Database?

Ang pag-establisar sa makanunayon nga mga relasyon tali sa mga database nga mga lamesa makatabang sa pagsiguro sa integridad sa data, nga nag-amot sa pag-normalize sa database Pananglitan, unsa kon dili kita mag-link sa bisan unsa nga mga lamesa pinaagi sa usa ka langyaw nga yawe ug sa baylo itipon lang ang mga datos sa Mga lamesa sa Kurso ug Mga Magtutudlo, sama niini:

Mga magtutudlo ug mga Kurso
Magtutudlo_ID Teacher_Name Kurso
Teacher_001 Carmen Biology, Matematika
Magtutudlo_002 Veronica Math
Magtutudlo_003 Jorge Iningles

Kini nga disenyo dili matukib ug naglapas sa unang prinsipyo sa pag-normalize sa database, First Normal Form (1NF), nga nag-ingon nga ang matag table cell kinahanglan nga adunay usa ka single, discrete nga piraso sa datos.

O tingali nakahukom kami sa pagdugang lamang og ikaduhang rekord alang kang Carmen, aron ipatuman ang 1NF:

Mga magtutudlo ug mga Kurso
Magtutudlo_ID Teacher_Name Kurso
Teacher_001 Carmen Biology
Teacher_001 Carmen Math
Magtutudlo_002 Veronica Math
Magtutudlo_003 Jorge Iningles

Kini usa pa ka huyang nga disenyo, nga nagpaila sa wala kinahanglana nga pagkopya ug unsa ang gitawag nga data anomalies insertion , nga nagpasabut nga kini makatampo sa dili magkatugma nga datos.

Pananglitan, kon ang usa ka magtutudlo adunay daghang mga rekord, unsa kaha kon ang pipila ka mga datos kinahanglan nga i-edit, apan ang tawo nga naghimo sa pagpa-edit sa data wala makaamgo nga adunay daghang mga rekord? Dayon ang lamesa dunay lainlaing datos alang sa sama nga indibidwal, nga walay klaro nga paagi sa pag-ila niini o paglikay niini.

Ang pagwagtang niini nga lamesa ngadto sa duha ka mga lamesa, ang Mga Magtutudlo ug mga Kurso (sumala sa makita sa ibabaw), nagmugna sa tukma nga relasyon tali sa datos ug sa ingon makatabang sa pagsiguro sa kasayuran sa pagkahan-ay ug pagkasibu.