Skip to main content

Isang Gabay sa Pag-unawa sa Dependencies ng Database

Cache dependency on sql server database table Part 131 (Hunyo 2026)

Cache dependency on sql server database table Part 131 (Hunyo 2026)
Anonim

Ang dependency ay isang pagpigil na naaangkop sa o tumutukoy sa kaugnayan sa pagitan ng mga katangian. Ito ay nangyayari sa isang database kapag ang impormasyon na nakaimbak sa parehong talahanayan ng database ng katangi ay tumutukoy sa iba pang impormasyon na nakaimbak sa parehong mesa. Maaari mo ring ilarawan ito bilang isang relasyon kung saan alam ang halaga ng isang katangian (o isang hanay ng mga katangian) ay sapat na upang sabihin sa iyo ang halaga ng isa pang katangian (o hanay ng mga katangian) sa parehong talahanayan.

Ang mga dependency ng database ay madalas na nalilito ang parehong mga mag-aaral at mga propesyonal sa database na magkamukha. Sa kabutihang palad, ang mga ito ay hindi kumplikado na maaaring mukhang. Maaari silang pinakamahusay na ipaliwanag gamit ang ilang mga halimbawa. Dito, susuriin natin ang karaniwang mga uri ng dependency ng database.

Mga Dependency sa Database at Mga Dependency sa Pag-andar

Sinasabi na may dependency sa pagitan ng mga katangian sa isang talahanayan ay katulad ng pagsasabi na mayroong isang functional dependency sa pagitan ng mga katangiang iyon. Kung may dependency sa isang database na ang attribute na B ay nakasalalay sa katangian A, isulat mo ito bilang:

A -> B

Halimbawa, sa isang talahanayan na naglilista ng mga katangian ng empleyado, kasama ang Social Security number (SSN) at pangalan, maaaring masabi na ang pangalan ay nakasalalay sa SSN (o pangalan ng SSN -> dahil ang pangalan ng empleyado ay maaaring natukoy nang kakaiba mula sa isang SSN. Gayunpaman, ang pabalik na pahayag (pangalan -> SSN) ay hindi totoo dahil higit sa isang empleyado ang maaaring magkaroon ng parehong pangalan ngunit laging may iba't ibang mga SSN.

Mga Maliit na Functional Dependencies

Ang isang maliit na functional dependency ay nangyayari kapag inilalarawan mo ang isang functional dependency ng isang katangian sa isang koleksyon ng mga katangian na kasama ang orihinal na katangian. Halimbawa, ang {A, B} -> B ay isang maliit na functional dependency, tulad ng {name, SSN} -> SSN. Ang ganitong uri ng functional dependency ay tinatawag na walang kuwenta dahil maaaring ito ay nagmula mula sa sentido komun. Ito ay malinaw na kung alam mo na ang halaga ng B, kung gayon ang halaga ng B ay maaaring katangi-tanging natutukoy ng kaalaman na iyon.

Buong Dependency na Functional

Ang isang buong functional dependency ay nangyayari kapag natugunan mo na ang mga kinakailangan para sa isang functional dependency at ang hanay ng mga katangian sa kaliwang bahagi ng functional statement dependency ay hindi maaaring mabawasan ang anumang karagdagang. Halimbawa, ang {SSN, age} -> pangalan ay isang functional dependency, ngunit ito ay hindi isang buong functional dependency dahil maaari mong alisin ang edad mula sa kaliwang bahagi ng pahayag na hindi nakakaapekto sa kaugnayan ng dependency.

Transitive Dependencies

Ang mga transitive dependency ay nangyayari kapag may di-tuwirang relasyon na nagiging sanhi ng isang functional dependency. Halimbawa, ang A -> C ay isang transitive dependency kapag ito ay totoo lamang dahil ang parehong A -> B at B -> C ay totoo.

Multivalued Dependencies

Ang mga multivalued dependency ay nangyayari kapag ang pagkakaroon ng isa o higit pang mga hilera sa isang talahanayan ay nagpapahiwatig ng pagkakaroon ng isa o higit pang mga hanay sa mismong mesa. Halimbawa, isipin ang isang kumpanya ng kotse na gumagawa ng maraming mga modelo ng kotse, ngunit palaging gumagawa ng parehong pula at bughaw na kulay ng bawat modelo. Kung mayroon kang isang table na naglalaman ng modelo ng pangalan, kulay, at taon ng bawat kotse ang mga paninda ng kumpanya, mayroong isang multivalued dependency sa table na iyon. Kung mayroong isang hilera para sa isang tiyak na pangalan ng modelo at taon na may asul, mayroon ding isang katulad na hilera na tumutugma sa pulang bersyon ng parehong kotse.

Kahalagahan ng Dependencies

Ang mga dependency ng database ay mahalaga na maunawaan dahil nagbibigay sila ng mga pangunahing bloke ng gusali na ginagamit sa normalization ng database, ang proseso ng mahusay na pag-aayos ng data sa isang database. Halimbawa:

  • Para sa isang talahanayan na nasa ikalawang normal na form (2NF), walang dapat na kaso ng isang hindi pangkaraniwang katangian sa talahanayan na nakadepende sa isang subset ng isang key ng kandidato.
  • Para sa isang talahanayan na nasa ikatlong normal na form (3NF), ang bawat di-pangkaraniwang katangian ay dapat magkaroon ng walang-kaugnayang functional dependency sa bawat key ng kandidato.
  • Para sa isang talahanayan na nasa Boyce-Codd Normal Form (BCNF), ang bawat functional dependency (maliban sa mga maliit na dependency) ay dapat na nasa isang superkey.
  • Para sa isang talahanayan upang maging sa ika-apat na normal na form (4NF), ito ay walang mga multivalued dependency.