जवाबों:
एक मुख्य अंतर यह है कि अद्वितीय सूचकांक में एक NULL मान हो सकता है जिसे प्राथमिक कुंजी में अनुमति नहीं है। क्लस्टर्ड या नहीं, यह प्राथमिक कुंजी बनाम एक अद्वितीय कुंजी के व्यावहारिक कार्यान्वयन के बीच मुख्य अंतर है।
ओह, और यह तथ्य कि एक टेबल में एक पीके और कई यूके :-) हो सकते हैं।
ये दोनों अंतर में हैं पूर्णता में नहीं। अन्यथा, मुझे नहीं लगता कि कोई अंतर है। किसी भी पीके या यूके के पीछे SQL सर्वर एक इंडेक्स बनाता है (अनुरोध के आधार पर, क्लस्टर किया गया या नहीं) और जिस तरह से इसका उपयोग किया जाता है वह स्रोत के लिए पारदर्शी है।
PRIMARY KEY
और NOT NULL UNIQUE
, पूर्व को चालू करने के लिए बहुत कठिन होगा NULL UNIQUE
(खासकर यदि बाधा पहले से ही एक विदेशी कुंजी द्वारा संदर्भित की गई थी)। निश्चित रूप से से आकस्मिक परिवर्तनों को रोकने चाहेंगे NOT NULL
करने के लिए NULL
।
क्लस्टर की गई प्राथमिक कुंजी और एक अद्वितीय क्लस्टर इंडेक्स के बीच में कोई अन्य अलग-अलग नहीं होता है जो अद्वितीय क्लस्टर किए गए इंडेक्स में NULL मान हो सकता है।
एक गैर-अद्वितीय क्लस्टर इंडेक्स में एक अद्वितीय होता है जिसे गैर-अद्वितीय मानों के लिए निपटाया जाता है।
NOT NULL UNIQUE CLUSTERED
या (बी) को उजागर करने के लिए कि एक विशेष यूक्यू मेटाडेटा अर्थ में "विशेष" है, भले ही आरडीएमएस अज्ञेयवादी हो?