Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

MySQL - तालिका बनाते समय एक साथ उपयोग किए जाने पर प्राथमिक कुंजी, अद्वितीय कुंजी और कुंजी का अर्थ

एक कुंजी सिर्फ एक सामान्य सूचकांक है। सरलीकरण का एक तरीका यह है कि इसे किसी पुस्तकालय में कार्ड कैटलॉग की तरह सोचा जाए। यह MySQL को सही दिशा में इंगित करता है।

बेहतर खोज गति के लिए एक अद्वितीय कुंजी का भी उपयोग किया जाता है, लेकिन इसमें बाधा है कि कोई डुप्लिकेट आइटम नहीं हो सकता है (कोई दो x और y नहीं हैं जहां x y और x ==y नहीं है)।

मैनुअल इसे इस प्रकार समझाता है:

<ब्लॉकक्वॉट>

एक अद्वितीय सूचकांक एक बाधा उत्पन्न करता है जैसे कि सूचकांक में सभी मान अलग-अलग होने चाहिए। एक त्रुटि उत्पन्न होती है यदि आप एक मौजूदा पंक्ति से मेल खाने वाले akey मान के साथ एक नई पंक्ति जोड़ने का प्रयास करते हैं। यह बाधा BDB स्टोरेज इंजन को छोड़कर NULL मानों पर लागू नहीं होती है। अन्य इंजनों के लिए, UNIQUE अनुक्रमणिका उन स्तंभों के लिए कई NULL मानों की अनुमति देती है जिनमें NULL हो सकता है। यदि आप किसी UNIQUE अनुक्रमणिका में किसी स्तंभ के लिए उपसर्ग मान निर्दिष्ट करते हैं, तो स्तंभ मान उपसर्ग के भीतर अद्वितीय होना चाहिए।

प्राथमिक कुंजी एक 'विशेष' अद्वितीय कुंजी है। यह मूल रूप से एक अद्वितीय कुंजी है, सिवाय इसके कि इसका उपयोग किसी चीज़ की पहचान करने के लिए किया जाता है।

मैनुअल बताता है कि सामान्य रूप से इंडेक्स का उपयोग कैसे किया जाता है:यहां।

MSSQL में, अवधारणाएँ समान हैं। अनुक्रमणिका, अद्वितीय बाधाएँ और प्राथमिक कुंजियाँ हैं।

परीक्षण नहीं किया गया, लेकिन मेरा मानना ​​है कि MSSQL समकक्ष है:

CREATE TABLE tmp (
  id int NOT NULL PRIMARY KEY IDENTITY,
  uid varchar(255) NOT NULL CONSTRAINT uid_unique UNIQUE,
  name varchar(255) NOT NULL,
  tag int NOT NULL DEFAULT 0,
  description varchar(255),
);

CREATE INDEX idx_name ON tmp (name);
CREATE INDEX idx_tag ON tmp (tag);

संपादित करें:ऊपर दिए गए कोड को सही होने के लिए परीक्षण किया गया है; हालांकि, मुझे संदेह है कि ऐसा करने के लिए एक बेहतर वाक्यविन्यास है। जब से मैंने SQL सर्वर का उपयोग किया है, तब से कुछ समय हो गया है, और जाहिर तौर पर मैं काफी कुछ भूल गया हूँ :)।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर 2016:संबंध बनाएं

  2. SQL सर्वर में एक स्ट्रिंग से बचें ताकि LIKE अभिव्यक्ति में उपयोग करना सुरक्षित हो

  3. एक विशेष सर्वर पर अस्पष्ट स्तंभ नाम त्रुटि

  4. SQL सर्वर प्रदर्शन निगरानी के बारे में शीर्ष 10 अक्सर पूछे जाने वाले प्रश्न

  5. SQL सर्वर T-SQL फ़ंक्शन का उपयोग कैसे करें SUM:5 मामलों का उपयोग करें