Xarici açar (ing. foreign key) — SQL verilənlər bazalarında bir cədvəldəki bir sütunun (və ya bir neçə sütunun) başqa bir cədvəlin bir sütunu ilə əlaqəli olduğunu göstərən bir məhdudiyyətdir.

Xarici açarlar, verilənlər bazasında cədvəllər arasındakı əlaqələri müəyyən etmək və bu əlaqələrin düzgünlüyünü qorumaq üçün istifadə olunur. Onlar verilənlər bazasında məlumatların bütövlüyünü təmin etməyə kömək edir.

Əsas funksiyaları

  1. Məlumatlar arasında əlaqə — xarici açar bir cədvəldəki məlumatı başqa bir cədvəldəki məlumatla əlaqələndirir. Məsələn, bir məhsul cədvəli və bir kateqoriya cədvəli varsa, məhsul cədvəlindəki category_id sütunu xarici açar kimi təyin edilə bilər ki, bu da onu kateqoriya cədvəlindəki id sütunu ilə əlaqələndirir.
  2. Referensial bütövlük — xarici açarların əsas vəzifəsi referensial bütövlüyü qorumaqdır. Bu, o deməkdir ki, xarici açarın istinad etdiyi dəyər əsas cədvəldə mövcud olmalıdır. Məsələn, əgər məhsul cədvəlində bir category_id varsa, bu dəyər kateqoriya cədvəlindəki id sütununda mövcud olmalıdır.

Əməliyyat məhdudiyyətləri

  • ON DELETE — əsas cədvəldən bir qeydi sildikdə xarici açara malik qeydlərlə nə baş verəcəyini idarə edir. Məsələn:
  • CASCADE — əsas qeydi silərkən əlaqəli xarici açar qeydləri də avtomatik olaraq silinir.
  • SET NULL — əsas qeydi silərkən əlaqəli xarici açar dəyəri NULL-a təyin olunur.
  • RESTRICT — əsas qeydi silmək qadağan olunur, əgər ona bağlı xarici açar qeydləri varsa.
  • ON UPDATE — əsas qeydin dəyərini yeniləyərkən xarici açar qeydlərinin necə yenilənəcəyini idarə edir. Oxşar olaraq CASCADE, SET NULL, və RESTRICT kimi seçimlər mövcuddur.

Açarın yaradılması

Bir cədvəldə xarici açar yaratmaq üçün SQL-də FOREIGN KEY ifadəsi istifadə olunur. Məsələn, orders (sifarişlər) cədvəli və customers (müştərilər) cədvəli arasında əlaqə yaratmaq üçün aşağıdakı sintaksisdən istifadə olunur:

CREATE TABLE orders (
    order_id INT PRIMARY KEY,
    order_date DATE,
    customer_id INT,
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
);

Bu misalda, orders cədvəlindəki customer_id sütunu xarici açar kimi təyin olunur və bu, customers cədvəlindəki customer_id sütununa istinad edir.

Açarların əhəmiyyəti

  • Verilənlər bazasında məlumatların tamlığını təmin edir.
  • Müxtəlif cədvəllər arasında loji əlaqələr qurur.
  • Məlumatların təkrarını azaldır və referensial bütövlüyü qoruyur.

Xarici açarlar cədvəllər arasında əlaqələrin düzgün və məntiqli olmasını təmin edir.

İstinadlar

  1. Coronel, Carlos. Database Systems: Design, Implementation, and Management. Independence KY: South-Western/Cengage Learning. 2010. səh. 65. ISBN 978-0-538-74884-1.
  2. Elmasri, Ramez. . Addison-Wesley. 2011. –74. ISBN 978-0-13-608620-8.
  3. Date, C. J. A guide to the SQL standard. Addison-Wesley. 1996. səh. 206. ISBN 978-0201964264.
  4. . 2010-01-10 tarixində . İstifadə tarixi: 2010-03-13.
  5. Sheldon, Robert. Beginning MySQL. John Wiley & Sons. 2005. 119–122. ISBN 0-7645-7950-9.
  6. MySQL AB. MySQL Administrator's Guide and Language Reference. Sams Publishing. 2006. səh. 40. ISBN 0-672-32870-4.
  7. Powell, Gavin. . Elsevier. 2004. səh. .  .
  8. Mullins, Craig. DB2 developer's guide. IBM Press. 2012.  .
  9. Garcia-Molina, Hector. . Prentice Hall. 2009. –95. ISBN 978-0-13-187325-4.
  10. Sheldon, Robert. Beginning MySQL. John Wiley & Sons. 2005. səh. 156. ISBN 0-7645-7950-9.

Xarici keçidlər

Mənbə — ""

Informasiya Melumat Axtar

Anarim.Az

Sayt Rehberliyi ile Elaqe

Saytdan Istifade Qaydalari

Anarim.Az 2004-2023