Sobes.tech
Junior

Чӣ гуна калиди хориҷӣ ба ҳимояи маълумот дар база таъсир мерасонад?

sobes.tech AI

Ҷавоб аз AI

Калидоии хориҷӣ (foreign key) кафолат медиҳад, ки ҳуҷҷатҳои дар сутуни як ҷадвал (ҷадвали кӯдак) мавҷудбуда ба арзишҳои сутуни ҷадвали дигар (ҷадвали волидайн) мувофиқат мекунанд.

Асосият ба саломатии маълумот:

  1. Моъили илова кардани сабтҳо дар ҷадвали кӯдак бо арзиши номувофиқ дар сутуни мувофиқи ҷадвали волидайн. кӯшиши ворид кардани сатр, ки ба сабти волидайн, ки вуҷуд надорад, ишора мекунад, хатогӣ меорад.
  2. Маҳдуд кардани нест кардани сабтҳо аз ҷадвали волидайн, ки ба онҳо сабтҳои ҷадвали кӯдак ишора мекунанд. Ҳаводис дар вақти нобуд кардани сабтҳо вобаста ба амали танзимшуда (ON DELETE):
    • RESTRICT (тавре ки пешфарз): Манъ мекунад нобуд кардан.
    • CASCADE: Нобуд кардани сабтҳои вобаста дар ҷадвали кӯдак.
    • SET NULL: Муайян кардани арзиши NULL дар сутуни мувофиқи ҷадвали кӯдак (агар сутун иҷозат диҳад NULL).
    • NO ACTION: Монанд ба RESTRICT дар санҷиши стандартӣ, аммо метавонад дар вақти иҷро фарқ кунад.
  3. Маҳдуд кардани навсозии сабтҳо дар ҷадвали волидайн. Ҳаводис дар вақти навсозӣ низ вобаста ба амали танзимшуда (ON UPDATE):
    • RESTRICT (тавре ки пешфарз): Манъ мекунад навсозиро.
    • CASCADE: Навсозии арзиши мувофиқ дар сабтҳои вобаста дар ҷадвали кӯдак.
    • SET NULL: Муайян кардани арзиши NULL дар сутуни мувофиқи ҷадвали кӯдак (агар сутун иҷозат диҳад NULL).
    • NO ACTION: Монанд ба RESTRICT дар санҷиши стандартӣ, аммо метавонад дар вақти иҷро фарқ кунад.

Калиди хориҷӣ кӯмак мекунад, ки сабтҳои "бевақт" пайдо нашаванд ва таъмин мекунад, ки робитаҳо байни ҷадвалҳо дуруст боқӣ монад.