محدودیت Unique در SQL Server

محدودیت Unique منحصر به فرد بودن همه مقادیر را تضمین می کند طوری که هیچ مقدار تکراری در ستونی از جدول وارد نمی شود.

محدودیت Unique در SQL Server

محدودیت Unique در SQL Server

محدودیت Unique منحصر به فرد بودن همه مقادیر را تضمین می کند طوری که هیچ مقدار تکراری در ستونی از جدول وارد نمی شود.

محدودیت های Unique را می توان با استفاده از CREATE یا ALTER TABLE T-SQL ایجاد کرد. در دستور CREATE TABLE پس از تعاریف ستون ها، محدودیت های Unique را اضافه کنید.

محدودیت Unique در SQL Server

دستور CREATE TABLE زیر محدودیت کلیدی Unique را در ستون PhoneNo جدول Employee تعریف می کند.

محدودیت Unique در SQL Server

دستور ALTER TABLE زیر یک محدودیت Unique را به ستون PhoneNo جدول Employee موجود اضافه می کند.

محدودیت Unique در SQL Server

حال اگر بخواهید رکوردی را در جدول Employee درج یا به روز کنید جایی که Phone در محدوده مشخص شده قرار ندارد، خطای زیر ایجاد می شود.

Violation of UNIQUE KEY constraint 'UNQ_Emp_Phone'. Cannot insert duplicate key in object 'dbo.Employee'. The duplicate key value is (123.123.1834). The statement has been terminated.

نکات مهم:

1 - هر دو محدودیت Unique و محدودیت Primary key منحصر به فرد بودن را اعمال می کنند. توصیه می شود هر زمان که می خواهید منحصر به فرد بودن را در یک ستون اعمال کنید، به جای محدودیت کلید اصلی (Primary key) از محدودیت Unique استفاده کنید.

2 - بر خلاف محدودیت کلید اصلی ، محدودیت های Unique فقط یک مقدار NULL را مجاز می کند.

3 - هنگامی که یک محدودیت کلیدی Unique ایجاد می شود، یک ایندکس منحصر به فرد به طور خودکار ایجاد می شود.

4 - هر زمان که یک مقدار تکراری درج یا به روز شود، SQL Server یک خطا ایجاد می کند.

5 - هنگامی که یک ایندکس Unique به یک ستون موجود در جدول اضافه می شود، موتور پایگاه داده (database engine) ابتدا منحصر به فرد بودن داده های ستون مشخص شده را بررسی می کند. اگر یک ورودی تکراری یافت شود، موتور یک خطا را برمی گرداند و محدودیت را اضافه نمی کند.

6 - یک کلید منحصر به فرد (Unique key) در یک جدول را می توان با یک کلید خارجی از جدول دیگر ارجاع داد.

ایجاد محدودیت Unique با استفاده از SSMS

مرحله 1 : SSMS را باز کنید، به یک پایگاه داده وارد شوید. در Object Explorer، پوشه جدول را باز کنید و روی جدولی که می خواهید یک محدودیت Unique اضافه کنید، راست کلیک کنید و Design را انتخاب کنید تا آن در یک طراح جدول (table designer) باز شود.

ایجاد محدودیت Unique با استفاده از SSMS

اکنون روی طراح جدول کلیک راست کرده و Indexes/Keys را انتخاب کنید، همانطور که در زیر نشان داده شده است.

ایجاد محدودیت Unique با استفاده از SSMS

مرحله 2 : در کادر محاوره ای "Indexes/Keys"، ستون PhoneNo را در Columns property انتخاب کنید.

در مرحله بعد نوع Unique Key را انتخاب کنید تا محدودیت کلید منحصر به فرد روی ستون PhoneNo اعمال شود.

ایجاد محدودیت Unique با استفاده از SSMS

مرحله 3: نام محدودیت را در ویژگی name وارد کنید.

ایجاد محدودیت Unique با استفاده از SSMS

روی Close کلیک کنید و جدول را ذخیره کنید.

بنابراین، شما می توانید یک محدودیت unique key را روی یک ستون در یک جدول ایجاد کنید.

حذف محدودیت Unique Key

از دستور DROP CONSTRAINT در عبارت ALTER TABLE برای حذف محدودیت های منحصر به فرد موجود استفاده کنید.

حذف محدودیت Unique Key

آنچه که در زیر می بینید محدودیت کلید منحصر به فرد UNQ_Emp_Phone را از جدول Employee حذف می کند.

حذف محدودیت Unique Key

برای حذف محدودیت ها با استفاده از SQL Server Management Studio، جدولی را که محدودیت از آن حذف می شود گسترش دهید.

اکنون پوشه Keys را باز کنید و روی محدودیت مورد نظر کلیک راست کنید تا حذف شود و روی Delete کلیک کنید.

حذف محدودیت Unique Key

این کادر محاوره ای "Delete Object" را باز می کند، همانطور که در زیر نشان داده شده است.

حذف محدودیت Unique Key

در کادر محاوره ای "Delete Object" روی Ok کلیک کنید تا یک محدودیت حذف شود.

محدودیت Unique در SQL Server ایجاد محدودیت Unique با استفاده از SSMS حذف محدودیت Unique Key آموزش SQL Server