قیود (Constraints)
«قید (Constraint)» یعنی قانونِ داده ها. با قید، جدول را مجبور می کنیم داده درست بگیرد. مثلاً خالی نباشد یا تکراری نشود. مثل قوانین مدرسه که نظم می آورد.
قیود در SQL یعنی چه؟
قیدها قوانین ذخیره سازی هستند. بنابراین نوع و صحت داده کنترل می شود. اگر داده با قانون نسازد، عمل لغو می شود. دو سطح داریم: «سطح ستون» و «سطح جدول».
تعریف قید هنگام ساخت جدول
می توان قید را هنگام ساخت جدول یا بعداً با تغییر جدول اضافه کرد.
سینتکس (از منبع)
CREATE TABLE table_name (
column1 datatype constraint,
column2 datatype constraint,
column3 datatype constraint
);
انواع قیدهای پرکاربرد
این قیدها در SQL رایج اند. هر کدام قانون مشخصی دارند.
- NOT NULL: ستون نمی تواند مقدار تهی داشته باشد.
- UNIQUE: همه مقادیر ستون باید یکتا باشند.
- PRIMARY KEY: ترکیب NOT NULL و UNIQUE برای شناسنامه هر ردیف.
- FOREIGN KEY: لینک سالم بین جداول را حفظ می کند.
- CHECK: مقدار باید شرط مشخصی را پاس کند.
- DEFAULT: اگر مقداری ندهیم، مقدار پیش فرض می گذارد.
- CREATE INDEX: بازیابی داده را سریع تر می کند.
راهنمای عملی سریع
- اول قانون لازم را مشخص کن؛ مثلاً عدمِ خالی بودن.
- قید مناسب را انتخاب کن؛ مثلاً NOT NULL یا UNIQUE.
- قید را هنگام ساخت یا با ALTER TABLE اضافه کن.
هشدار: افزودن/تغییر قید ممکن است درج داده ناسازگار را متوقف کند. قبل از اعمال روی تولید، در محیط تست بررسی کن.
جمع بندی سریع
- قید یعنی قانون داده جدول.
- می تواند سطح ستون یا جدول باشد.
- خطای نقض قید، عملیات را لغو می کند.
- پرکاربرد: NOT NULL، UNIQUE، PK، FK، CHECK، DEFAULT.
- برای سرعت، ایندکس بساز اما سنجیده.