در SQL، Constraint یک قاعدهی اجباری برای دادهها در جداول است که حاکمیتی بر روی تغییرات در دادهها اعمال میکند. این قاعده میتواند به اجبار اعتبارسنجی دادهها، تضمین انطباق با یک الگو یا اعمال قوانین انتساب کلیدهای خارجی (Foreign Key Constraint) کمک کند. در این مقاله، با مفهوم Constraint در SQL آشنا میشویم و به بررسی کاربرد خاص Foreign Key Constraint میپردازیم. Constraint به صورت اجباری اجرا میشود و وظیفهی آن اطمینان حاصل کردن از اعتبار و دقت دادهها است. این قواعد میتوانند محدودیتهایی بر روی دادهها، مانند NULL یا تعیین کردن یک محدودهی مقادیر، اعمال کنند.
Primary Key Constraint: این نوع Constraint اجازهی تعیین یک فیلد به عنوان کلید اصلی جدول را میدهد که باید منحصربهفرد باشد و نمیتواند مقدار NULL داشته باشد.
Unique Constraint: این نوع Constraint اجازهی تعیین یک فیلد به عنوان یکتا (Unique) را میدهد، اما مقدار NULL مجاز است.
Not Null Constraint: این نوع Constraint اجازهی تعیین یک فیلد به عنوان غیرقابلتغییر (Not Null) را میدهد، به این معنا که فیلد نمیتواند مقدار NULL داشته باشد.
Foreign Key Constraint یک نوع محدودیت است که ارتباط بین دو جدول را تعیین میکند. این ارتباط از طریق فیلدهایی به نام کلید خارجی (Foreign Key) برقرار میشود که به فیلدهای کلید اصلی (Primary Key) جدول دیگر ارجاع دارند. این محدودیت از جلوگیری از وارد کردن دادههای ناهنجار به جدولها و ایجاد ارتباط معتبر بین آنها مسئول است.
فرض کنید دو جدول به نام "کتابخانه" و "کتابها" داریم. در جدول "کتابخانه" یک فیلد به نام "کد_کتابخانه" به عنوان کلید اصلی تعیین شده است. حالا میخواهیم در جدول "کتابها" یک فیلد به نام "کد_کتابخانه" را به عنوان Foreign Key قرار دهیم که به فیلد "کد_کتابخانه" از جدول "کتابخانه" ارجاع داشته باشد. اینکه فیلد "کد_کتابخانه" از جدول "کتابها" به جدول "کتابخانه" ارجاع دارد، نشاندهندهی ارتباط میان دو جدول است.
Constraintها در SQL یک قواعد اجباری برای دادهها در جداول هستند که به حفظ اعتبار و دقت دادهها کمک میکنند. از جملهی انواع Constraint، Foreign Key Constraint یکی از مهمترینهاست که ارتباط بین دو جدول را بهبود میدهد و از وارد کردن دادههای ناهنجار جلوگیری میکند. با استفاده از این Constraintها، اطمینان حاصل میشود که دادهها در پایگاه داده به درستی و معتبریت ذخیره میشوند.