Sobes.tech
Junior

როგორ ახდენს საგარეო გასაღები მონაცემთა მთლიანობაზე გავლენას?

sobes.tech AI

პასუხი AI-სგან

გარე გასაღები (foreign key) უზრუნველყოფს მონაცემთა მიმთითებელი მთლიანობას, გარანტიას იძლევა, რომ ერთ ცხრილში (შვილი ცხრილი) არსებული მნიშვნელობები შეესაბამება სხვა ცხრილში (მშობელი ცხრილი) არსებულ მნიშვნელობებს.

მონაცემთა მთლიანობაზე გავლენა:

  1. ** აკრძალულია ჩანაწერების დამატება შვილის ცხრილში იმ შემთხვევაში, თუ შესაბამისი მნიშვნელობა მშობლის ცხრილში არ არსებობს.** მცდელობა შეიყვანოს ჩანაწერი, რომელიც მიუთითებს არარსებულ მშობელზე, გამოიწვევს შეცდომას.
  2. ** შეზღუდულია მშობლის ცხრილიდან ჩანაწერების წაშლა, თუ მათზე მიუთითებენ შვილის ცხრილში.** წაშლის ქცევა დამოკიდებულია კონფიგურირებულ მოქმედებაზე (ON DELETE):
    • RESTRICT (ნაგულისხმევი): წაშლა აკრძალულია.
    • CASCADE: წაშლის დამოკიდებულ ჩანაწერებს შვილის ცხრილში.
    • SET NULL: მნიშვნელობასს NULL-ად აქცევს შესაბამის სვეტში შვილის ცხრილში (თუ სვეტი ამის საშუალებას იძლევა).
    • NO ACTION: მსგავსია RESTRICT-ის სტანდარტული შემოწმების დროს, მაგრამ შეიძლება განსხვავდებოდეს შესრულების დროს.
  3. ** განახლების შეზღუდვა მშობლის ცხრილში.** განახლების ქცევა ასევე დამოკიდებულია კონფიგურირებულ მოქმედებაზე (ON UPDATE):
    • RESTRICT (ნაგულისხმევი): განახლება აკრძალულია.
    • CASCADE: განახლება შესაბამის მნიშვნელობას შვილის ცხრილში.
    • SET NULL: მნიშვნელობას NULL-ად აქცევს მშობლის ცხრილში (თუ სვეტი ამის საშუალებას იძლევა).
    • NO ACTION: მსგავსია RESTRICT-ის სტანდარტული შემოწმების დროს, მაგრამ შეიძლება განსხვავდებოდეს შესრულების დროს.

გარე გასაღები ხელს უწყობს "მშობელ" ჩანაწერების გამოჩენის თავიდან აცილებას და უზრუნველყოფს, რომ ცხრილებს შორის კავშირები სწორად დარჩეს.