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-ի նման, բայց կարող է տարբեր լինել գործարկման ժամանակ:

Արտաքին բանալին օգնում է կանխել "անվեր" գրանցումների առաջացումը և ապահովում, որ աղյուսակների միջև կապերը մնան ճիշտ։