অন্যান্য উত্তরের পয়েন্টগুলি ছাড়াও, এখানে উভয়ের মধ্যে কয়েকটি মূল পার্থক্য রয়েছে।
দ্রষ্টব্য: ত্রুটি বার্তাগুলি এসকিউএল সার্ভার ২০১২ এর।
ত্রুটি
একটি অনন্য বাধা লঙ্ঘন ত্রুটি 2627 প্রদান করে।
Msg 2627, Level 14, State 1, Line 1
Violation of UNIQUE KEY constraint 'P1U_pk'. Cannot insert duplicate key in object 'dbo.P1U'. The duplicate key value is (1).
The statement has been terminated.
একটি অনন্য সূচক লঙ্ঘন ত্রুটি 2601 প্রদান করে।
Msg 2601, Level 14, State 1, Line 1
Cannot insert duplicate key row in object 'dbo.P1' with unique index 'P1_u'. The duplicate key value is (1).
The statement has been terminated.
অক্ষম করা হচ্ছে
একটি অনন্য বাধা অক্ষম করা যায় না।
Msg 11415, Level 16, State 1, Line 1
Object 'P1U_pk' cannot be disabled or enabled. This action applies only to foreign key and check constraints.
Msg 4916, Level 16, State 0, Line 1
Could not enable or disable the constraint. See previous errors.
তবে কোনও প্রাথমিক কী বাধার পিছনে অনন্য সূচক বা কোনও অনন্য প্রতিবন্ধকে অক্ষম করা যেতে পারে, যে কোনও অনন্য সূচকও। টুপি টিপ Brain2000।
ALTER INDEX P1_u ON dbo.P1 DISABLE ;
ক্লাস্টারড ইনডেক্স অক্ষম করা ডেটাটিকে অ্যাক্সেসযোগ্য করে তোলে এমন সাধারণ সতর্কতাটি নোট করুন।
বিকল্প
অনন্য প্রতিবন্ধকতাগুলি সূচক পছন্দগুলি পছন্দ করে FILLFACTOR
এবং পছন্দ করে IGNORE_DUP_KEY
, যদিও এসকিউএল সার্ভারের প্রতিটি সংস্করণে এটি ঘটেনি case
অন্তর্ভুক্ত কলাম
ননক্র্লাস্টারড ইনডেক্সে অ-সূচকযুক্ত কলামগুলি অন্তর্ভুক্ত করতে পারে (আচ্ছাদন সূচক হিসাবে চিহ্নিত করা হয়, এটি একটি প্রধান কার্যকারিতা বৃদ্ধি)। প্রাথমিক কী এবং অনন্য সীমাবদ্ধতার পিছনে সূচকগুলি কলামগুলি অন্তর্ভুক্ত করতে পারে না। টুপি টিপ @ টিপিক्यूब।
ফিল্টারিং
একটি অনন্য বাধা ফিল্টার করা যায় না।
একটি অনন্য সূচক ফিল্টার করা যেতে পারে।
CREATE UNIQUE NONCLUSTERED INDEX Students6_DrivesLicence_u
ON dbo.Students6( DriversLicenceNo ) WHERE DriversLicenceNo is not null ;
বিদেশী কী বাধা
একটি বিদেশী কী বাধা ফিল্টার করা অনন্য সূচককে উল্লেখ করতে পারে না, যদিও এটি একটি ফিল্টারবিহীন অনন্য সূচকটি উল্লেখ করতে পারে (আমার ধারণা এটি এসকিউএল সার্ভার 2005-এ যুক্ত হয়েছিল))
নামকরণ
সীমাবদ্ধতা তৈরি করার সময়, সীমাবদ্ধতার নাম উল্লেখ করা alচ্ছিক (সমস্ত পাঁচ ধরণের প্রতিবন্ধকতার জন্য)। আপনি যদি কোনও নাম নির্দিষ্ট না করেন তবে এমএসএসকিউএল আপনার জন্য একটি উত্পন্ন করবে।
CREATE TABLE dbo.T1 (
TID int not null PRIMARY KEY
) ;
GO
CREATE TABLE dbo.T2 (
TID int not null CONSTRAINT T2_pk PRIMARY KEY
) ;
সূচী তৈরি করার সময়, আপনাকে অবশ্যই একটি নাম নির্দিষ্ট করতে হবে।
আই-ওয়ান @ টুপি
লিংক
http://technet.microsoft.com/en-us/library/aa224827(v=SQL.80).aspx
http://technet.microsoft.com/en-us/library/ms177456.aspx