Foreign Key nədir?
Foreign Key, yəni Xarici Açar, verilənlər bazasında bir cədvəldəki məlumatların digər cədvəldəki məlumatlarla əlaqələndirilməsini təmin edən sahədir. Başqa sözlə, bu açar bir cədvəldə olan məlumatların digər bir cədvəldəki Primary Key (Əsas Açar) ilə uyğun olmasını tələb edir və bu iki cədvəl arasında məlumat əlaqəsi yaradır.
Xarici açarın əsas funksiyası — verilənlər arasında əlaqə və məntiqi uyğunluq yaratmaqdır. Bu, verilənlər bazasının strukturunda real həyatda mövcud olan əlaqələri düzgün şəkildə əks etdirməyə imkan verir. Məsələn, bir tələbə və onun qeydiyyatda olduğu kurslar haqqında məlumatlar müxtəlif cədvəllərdə saxlanıla bilər, və həmin cədvəllər Foreign Key vasitəsilə bir-biri ilə əlaqələndirilə bilər.
Foreign Key olan sahədəki dəyərlər, istinad etdiyi cədvəldəki Primary Key sahəsində mütləq mövcud olmalıdır. Bu o deməkdir ki, bazaya hər hansı yeni məlumat əlavə edilərkən, sistem yoxlayır ki, həmin istinad mövcuddurmu. Əgər yoxdursa, bu məlumatın əlavə edilməsinə icazə verilmir. Bu, məlumatların bütövlüyünü və düzgünlüyünü qorumağa kömək edir.
Foreign Key sahəsində təkrarlanan dəyərlərə və bəzi hallarda boş (NULL) dəyərlərə icazə verilə bilər. Bu, həmin əlaqənin məcburi olub-olmamasından asılıdır. Məsələn, tələbə müəyyən kursa hələ yazılmayıbsa, qeydiyyat cədvəlindəki kurs identifikatoru boş qala bilər.
Xarici açarların davranışı sistem tərəfindən müəyyən qaydalarla da idarə oluna bilər. Məsələn, əsas cədvəldə istinad olunan məlumat silindikdə, ona bağlı olan xarici məlumatlar da avtomatik silinə bilər (bu davranış "ON DELETE CASCADE" adlanır). Yaxud, əsas məlumat dəyişərsə, ona bağlı olanlar da avtomatik yenilənə bilər ("ON UPDATE CASCADE").
Nəticə olaraq, Foreign Key verilənlər bazasında çox cədvəl arasında məntiqi əlaqələrin qurulmasını təmin edən çox vacib bir anlayışdır. Onun köməyi ilə sistemdə əlaqəli məlumatlar arasında uyğunluq qorunur, səhv və uyğunsuz məlumatların bazaya düşməsi əngəllənir. Bu, həm məlumatların doğruluğunu təmin edir, həm də verilənlər bazasının ümumi arxitekturasını gücləndirir.
Əlaqəli terminlər:
IT sahəsini dərindən öyrənmək üçün kurslarımıza qoşulun. Ətraflı məlumat almaq üçün sorğu göndərin!