Unsa ang mga Dependencies sa Database?

Ang mga dependency sa database mao ang usa ka hilisgutan nga kanunay nga naglibog sa mga estudyante ug mga propesyonal sa database nga managsama. Maayo na lang, dili sila komplikado ug labing maayo nga ihulagway pinaagi sa paggamit sa daghang mga pananglitan. Niining artikuloha, atong susihon ang kasagaran nga klase sa pagsalig sa database.

Mga Dependensiyon sa Database / Naglihok nga mga Dependencies

Ang usa ka dependency mahitabo sa usa ka database kung ang impormasyon nga gitipigan sa samang database nga lamesa sa talagsaong pagtino sa ubang impormasyon nga gitipigan sa samang lamesa. Mahimo usab nimo ihulagway kini isip usa ka relasyon diin ang pagkahibal-an sa bili sa usa ka kinaiya (o usa ka hugpong sa mga hiyas) igo aron sa pagsulti kanimo sa bili sa laing hiyas (o set sa mga hiyas) diha sa sama nga lamesa.

Nag-ingon nga adunay usa ka dependency tali sa mga hiyas sa usa ka lamesa mao ang sama nga nag-ingon nga adunay usa ka functional nga pagsalig sa taliwala sa mga mga hiyas. Kung adunay usa ka dependency sa usa ka database sa ingon nga ang kinaiya nga B nag-agad sa kinaiya nga A, isulat nimo kini ingon nga "A -> B".

Pananglitan, sa usa ka lista sa mga empleyado sa empleyado nga naglakip sa Social Security Number (SSN) ug ngalan, mahimong ikaingon nga ang ngalan nag-agad sa SSN (o SSN -> ngalan) tungod kay ang ngalan sa empleyado mahimong talagsaong natino gikan sa ilang SSN. Hinuon, ang reverse nga pahayag (pangalan -> SSN) dili tinuod tungod kay labaw sa usa ka empleyado ang adunay susamang ngalan apan lainlain nga SSNs.

Trivial Functional Dependencies

Ang usa ka gamay nga dependent nga paglihok nga mahitabo mahitabo sa dihang ikaw naghulagway sa usa ka nag-agad nga pagsalig sa usa ka kinaiya sa usa ka koleksyon sa mga kinaiya nga naglakip sa orihinal nga hiyas. Pananglitan, ang "{A, B} -> B" usa ka gamay nga dependent nga functional, sama sa "{name, SSN} -> SSN". Kini nga matang sa functional dependency gitawag nga trivial tungod kay kini makuha gikan sa sentido komon. Klaro nga kung nahibal-an na nimo ang bili sa B, nan ang bili sa B mahimong talagsaong natino pinaagi sa maong kahibalo.

Full Functional Dependencies

Ang usa ka hingpit nga dependent nga paglihok mahitabo sa dihang nahimo na nimo ang mga gikinahanglan alang sa usa ka nag-agad nga dependency ug ang mga hiyas sa wala nga bahin sa functional nga pagsalig sa pagsalig dili makunhoran bisan unsa pa. Pananglitan, ang "{SSN, age} -> ngalan" usa ka depende sa pag-alagad, apan kini dili hingpit nga depende tungod kay mahimo nimo nga tangtangon ang edad gikan sa wala nga bahin sa pamahayag nga wala makaapekto sa dependency relationship.

Transitive Dependencies

Ang mga dependency nga transitive mahitabo sa diha nga adunay dili direktang relasyon nga maoy hinungdan sa usa ka nag-agad depende. Pananglitan, ang "A -> C" usa ka transitive dependency kung kini tinuod tungod kay ang duha "A -> B" ug "B -> C" tinuod.

Nagkalainlain nga Dependencies

Ang mga multivalued dependency mahitabo sa diha nga ang presensya sa usa o daghang mga laray diha sa usa ka lamesa nagpasabot sa presensya sa usa o daghan pa nga mga laray sa maong lamesa. Pananglitan, handurawa ang usa ka kompaniya sa sakyanan nga naggama sa daghang mga modelo sa sakyanan, apan sa kanunay naghimo sa pula ug asul nga kolor sa matag modelo. Kon ikaw adunay usa ka lamesa nga naglakip sa model nga ngalan, kolor ug tuig sa matag sakyanan ang kompanya naggama, adunay usa ka multivalued dependency sa maong lamesa. Kung adunay usa ka laray alang sa usa ka modelo nga ngalan ug tuig nga asul, adunay kinahanglan usab nga susama nga laray nga katumbas sa pula nga bersyon sa mao nga sakyanan.

Importansya sa mga Dependencies

Ang mga dependency sa database importante nga masabtan tungod kay kini naghatag sa nag-unang mga bloke sa paggamit nga gigamit sa database nga pag-normalize . Pananglitan: