Ang mga database ay gumagamit ng mga talahanayan upang maisaayos ang impormasyon na naglalaman ng mga ito. Ang mga ito ay katulad ng mga spreadsheet, tulad ng Excel, ngunit higit na may kakayahan para sa mga advanced na gumagamit. Ang mga database ay gumagana sa paggamit ng mga pangunahing susi at banyagang mga susi, na nagpapanatili ng kaugnayan sa pagitan ng mga talahanayan.
Referential integrity ay isang tampok na database sa pamanggit database management system. Sinisiguro nito na ang mga relasyon sa pagitan ng mga talahanayan sa isang database ay mananatiling tumpak sa pamamagitan ng pag-aaplay ng mga hadlang upang maiwasan ang mga gumagamit o mga application sa pagpasok ng hindi wastong data o pagturo sa data na hindi umiiral.
Pangunahing susi
Ang pangunahing susi ng isang database table ay isang natatanging identifier na nakatalaga sa bawat rekord. Ang bawat talahanayan ay may isa o higit pang mga haligi na itinalaga bilang pangunahing susi. Ang isang numero ng Social Security ay maaaring maging isang pangunahing susi para sa listahan ng mga empleyado ng database dahil ang bawat numero ng Social Security ay natatangi.
Gayunpaman, dahil sa mga alalahanin sa pagkapribado, ang isang nakatalagang numero ng ID ng kumpanya ay isang mas mahusay na pagpipilian upang gumana bilang pangunahing susi para sa mga empleyado. Ang ilang database software, tulad ng Microsoft Access, ay awtomatikong nagtatalaga ng pangunahing key, ngunit ang random na key ay walang tunay na kahulugan. Mas mainam na gumamit ng isang susi na may kahulugan sa rekord.
Ang pinakasimpleng paraan upang ipatupad ang referential integridad ay hindi upang payagan ang mga pagbabago sa isang pangunahing susi.
Dayuhang susi
Ang isang banyagang susi ay isang identifier sa isang talahanayan na tumutugma sa pangunahing susi ng ibang talahanayan. Ang banyagang susi ay lumilikha ng ugnayan sa ibang mesa. Ang referential integrity ay tumutukoy sa relasyon sa pagitan ng mga talahanayan.
Kapag ang isang talahanayan ay may isang banyagang susi sa isa pang talahanayan, ang konsepto ng referential integrity ay nagsasaad na hindi ka maaaring magdagdag ng isang tala sa talahanayan na naglalaman ng dayuhang susi maliban kung may nararapat na tala sa naka-link na talahanayan. Kabilang din dito ang mga pamamaraan na kilala bilang cascading update at cascading delete, na tinitiyak na ang mga pagbabagong ginawa sa naka-link na talahanayan ay makikita sa pangunahing talahanayan.
Halimbawa ng Mga Sanggunian ng Integrity na Referential
Isaalang-alang, halimbawa, ang kalagayan kung saan mayroon kang dalawang talahanayan: Mga Empleyado at Mga Tagapamahala. Ang talahanayan ng mga empleyado ay may isang banyagang pangunahing katangian na may pamagat na ManagedBy, na tumuturo sa talaan para sa tagapangasiwa ng bawat empleyado sa talahanayan ng Mga Tagapangasiwa. Ipinatutupad ng integral na integridad ang sumusunod na tatlong panuntunan:
- Hindi ka maaaring magdagdag ng rekord sa talahanayan ng mga empleyado maliban kung ang katangian ng ManagedBy ay tumutukoy sa wastong talaan sa talahanayan ng Mga Tagapangasiwa. Ang integridad na may reference ay pinipigilan ang pagpapasok ng mga hindi tamang mga detalye sa isang talahanayan. Ang anumang operasyon na hindi nasiyahan ang patakaran ng referential integrity ay nabigo.
- Kung ang pangunahing susi para sa isang rekord sa mga pagbabago sa mga talahanayan ng Managers, lahat ng mga katumbas na talaan sa talahanayan ng Mga Empleyado ay binago gamit ang isang cascading update.
- Kung ang isang talaan sa talahanayan ng Mga Tagapamahala ay tatanggalin, ang lahat ng mga kaukulang tala sa talahanayan ng Mga empleyado ay tinanggal gamit ang isang cascading delete.
Mga Bentahe ng Mga Limitasyon sa Referential Integrity
Ang paggamit ng pamanggit na sistema ng pamamahala ng database na may referential integridad ay nag-aalok ng ilang mga pakinabang:
- Pinipigilan ang pagpasok ng dobleng data
- Pinipigilan ang isang talahanayan mula sa pagturo sa isang hindi umiiral na field sa isa pang talahanayan
- Ang mga garantiya ay pareho sa pagitan ng mga "kasosyo" na mga talahanayan
- Pinipigilan ang pagtanggal ng isang talaan na naglalaman ng isang halaga na tinutukoy ng isang banyagang susi sa isa pang talahanayan
- Pinipigilan ang pagdaragdag ng rekord sa isang talahanayan na naglalaman ng isang dayuhang susi maliban kung may pangunahing susi sa naka-link na talahanayan