کلیدهای خارجی در MySQL

کلیدهای خارجی در جدول‌های پایگاه داده ابزاری هستند که سبب می‌شوند پیوستگی اطلاعات میان جداول بانک اطلاعاتی توسط DBMS بررسی و مدیریت شود. هرچند قرار دادن کلیدهای خارجی در جداول الزامی نیست، ولی وجود آن‌ها در برخی مواقع می‌تواند سبب آسان‌شدن مدیریت پایگاه داده و پیش‌گیری از به وجود آمدن اشکال و خطا در ردیف‌های وابسته‌ی موجود در جدول‌های گوناگون شوند.

mysql
مای اس کیو ال(MySQL) از چند گونه کلید خارجی پشتیبانی می‌کند که می‌توان با مراجعه به بخش Relation View در phpMyAdmin یا بخش متناظر در نرم‌افزارهای دیگر، این کلیدها را ایجاد یا مدیریت نمود.
MySQL تنها برای جدول‌هایی از نوع InnoDB از کلید خارجی پشتیبانی می‌کند.

مدیریت عملکرد کلیدهای خارجی در هنگام به‌روزرسانی یا حذف ردیف‌ها از جدول اصلی، به شیوه‌های مختلفی امکان‌پذیر است که می‌بایست توسط طراح پایگاه داده به صورت صریح مشخص شوند. در ادامه انواع کلیدهای خارجی در MySQL و عملکرد هر یک را مشاهده خواهید کرد.

پایگاه داده

CASCADE

هنگامی که ردیف‌های جدول اصلی حذف یا به روزرسانی شوند، ردیف‌های متناظر در جدول متصل شده نیز حذف یا به روزرسانی می‌شوند. به این عمل، حذف آبشاری( Cascade ) گفته می‌شود.

RESTRICT

نوع Restrict یا محدود، از حذف یا به‌روزرسانی ردیف‌های جدول اصلی در صورتی که پیوند خارجی به آن وجود داشته باشد جلوگیری می‌کند. بنابراین برای حذف یا به روزرسانی در این شیوه، ابتدا می‌بایست ردیف‌های جدول ثانویه حذف یا به‌روزرسانی شوند تا پیوند میان دو جدول از بین برود.

NO ACTION

این گزینه تا حد زیادی با RESTRICT شباهت دارد. تفاوت اصلی میان NO ACTION و RESTRICT در زمان بررسی آن‌ها است. NO ACTION بررسی کلیدهای خارجی را پس از تلاش برای به روزرسانی انجام می‌دهد. ولی RESTRICT این کار را قبل از تلاش برای تغییر یا حذف انجام می‌دهد. تفاوت در زمان اجرا ممکن است در برخی بهینه‌ساز‌ی‌ها کاربرد داشته باشد.

SET NULL

با انتخاب این گزینه، چنانچه ردیف‌های جدول اصلی به‌روزرسانی یا حذف شوند، کلید خارجی در جدول ثانویه با مقدار NULL جایگزین می‌شود. لازم به ذکر است که ستون کلید خارجی باید NULLABLE باشد تا امکان انجام این کار فراهم شود.

SET DEFAULT

این گزینه نیز با SET NULL شباهت زیادی دارد با این تفاوت که به جای مقدار NULL، مقدار پیش‌فرض فیلد در ستون کلید خارجی قرار خواهد گرفت.


مشاهده‌ی تمامی نوشته‌ها در گروه: پایگاه داده. ‏ فهرست برچسب‌ها: , .

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *