Junior
როგორ ახდენს საგარეო გასაღები მონაცემთა მთლიანობაზე გავლენას?
sobes.tech AI
პასუხი AI-სგან
გარე გასაღები (foreign key) უზრუნველყოფს მონაცემთა მიმთითებელი მთლიანობას, გარანტიას იძლევა, რომ ერთ ცხრილში (შვილი ცხრილი) არსებული მნიშვნელობები შეესაბამება სხვა ცხრილში (მშობელი ცხრილი) არსებულ მნიშვნელობებს.
მონაცემთა მთლიანობაზე გავლენა:
- ** აკრძალულია ჩანაწერების დამატება შვილის ცხრილში იმ შემთხვევაში, თუ შესაბამისი მნიშვნელობა მშობლის ცხრილში არ არსებობს.** მცდელობა შეიყვანოს ჩანაწერი, რომელიც მიუთითებს არარსებულ მშობელზე, გამოიწვევს შეცდომას.
- ** შეზღუდულია მშობლის ცხრილიდან ჩანაწერების წაშლა, თუ მათზე მიუთითებენ შვილის ცხრილში.** წაშლის ქცევა დამოკიდებულია კონფიგურირებულ მოქმედებაზე (
ON DELETE):RESTRICT(ნაგულისხმევი): წაშლა აკრძალულია.CASCADE: წაშლის დამოკიდებულ ჩანაწერებს შვილის ცხრილში.SET NULL: მნიშვნელობასს NULL-ად აქცევს შესაბამის სვეტში შვილის ცხრილში (თუ სვეტი ამის საშუალებას იძლევა).NO ACTION: მსგავსიაRESTRICT-ის სტანდარტული შემოწმების დროს, მაგრამ შეიძლება განსხვავდებოდეს შესრულების დროს.
- ** განახლების შეზღუდვა მშობლის ცხრილში.** განახლების ქცევა ასევე დამოკიდებულია კონფიგურირებულ მოქმედებაზე (
ON UPDATE):RESTRICT(ნაგულისხმევი): განახლება აკრძალულია.CASCADE: განახლება შესაბამის მნიშვნელობას შვილის ცხრილში.SET NULL: მნიშვნელობას NULL-ად აქცევს მშობლის ცხრილში (თუ სვეტი ამის საშუალებას იძლევა).NO ACTION: მსგავსიაRESTRICT-ის სტანდარტული შემოწმების დროს, მაგრამ შეიძლება განსხვავდებოდეს შესრულების დროს.
გარე გასაღები ხელს უწყობს "მშობელ" ჩანაწერების გამოჩენის თავიდან აცილებას და უზრუნველყოფს, რომ ცხრილებს შორის კავშირები სწორად დარჩეს.