انواع constraint ها در SQL :
در زبان برنامه نویسی SQL (Structured Query Language)، محدودیتها یا constraint ها، قوانین و شرایطی هستند که برای محدود کردن دادههایی که میتوان در یک جدول قرار داد استفاده میشوند. این محدودیتها برای اطمینان حاصل کردن از دقت و صحت دادهها و همچنین حفظ توانایی سازگاری با سایر دادهها مورد استفاده قرار میگیرند. در ادامه، به بررسی انواع محدودیتها در SQL میپردازیم.
1. محدودیت اجباری (NOT NULL Constraint):
این محدودیت برای محدود کردن یک ستون به طوری که دادههای آن نتوانند مقدار NULL داشته باشند، استفاده میشود. این محدودیت به صورت زیر تعریف میشود:
CREATE TABLE table_name (
column_name data_type NOT NULL
);
2. محدودیت یکتا (UNIQUE Constraint):
این محدودیت برای اطمینان حاصل کردن از اینکه هیچ دو رکوردی در یک ستون خاص یک جدول هیچگاه مقادیر یکسانی نداشته باشند، استفاده میشود. این محدودیت به صورت زیر تعریف میشود:
CREATE TABLE table_name (
column_name data_type UNIQUE
);
3. محدودیت کلید اصلی (PRIMARY KEY Constraint):
این محدودیت برای شناسایی یکتا بودن هر رکورد در یک جدول، استفاده میشود. این محدودیت به صورت زیر تعریف میشود:
CREATE TABLE table_name (
column_name data_type PRIMARY KEY
);
4. محدودیت کلید خارجی (FOREIGN KEY Constraint):
این محدودیت برای ایجاد ارتباط بین دو جدول در SQL استفاده میشود. با استفاده از این محدودیت، میتوان یک ستون یا چند ستون در یک جدول ایجاد کرده و به عنوان کلید خارجی در جدول دیگری مورد استفاده قرار داد. این محدودیت به صورت زیر تعریف میشود:
CREATE TABLE table_name1 (
column_name1 data_type,
column_name2 data_type,
…
FOREIGN KEY (column_name1, column_name2, …) REFERENCES table_name2 (column_name1, column_name2, …)
);
5. محدودیت چک (CHECK Constraint):
این محدودیت برای اعمال یک عبارت چک بر روی دادههای یک ستون استفاده میشود. این عبارت چک باید به صورت یک منطقی تعریف شده و محدودیت اعمال شده را برقرار کند. این محدودیت به صورت زیر تعریف میشود:
CREATE TABLE table_name (
column_name data_type CHECK (expression)
);
در این مقاله، به بررسی انواع محدودیتها در SQL پرداختیم. هر نوع محدودیت دارای کاربردها و قابلیتهای خاص خود است و استفاده درست از آنها میتواند به بهبود عملکرد و دقت دادهها در پایگاه داده کمک کند.