SQL सर्वर इंडेक्स नामकरण परंपराएँ [बंद]


175

SQL सर्वर के लिए अनुक्रमित नाम के लिए कुछ मानक तरीका है? ऐसा लगता है कि प्राथमिक कुंजी सूचकांक का नाम PK_ है और गैर-संकुल सूचकांक आमतौर पर IX_ से शुरू होते हैं। क्या अद्वितीय सूचकांक के लिए इससे परे कोई नामकरण परंपराएं हैं?

जवाबों:


282

मैं उपयोग करता हूं

प्राथमिक कुंजी के लिए PK_

UK_ अद्वितीय कुंजियों के लिए

IX_ नॉन क्लस्टर्ड नॉन यूनिक इंडेक्स के लिए

अद्वितीय अनुक्रमितों के लिए UX_

मेरे सभी सूचकांक नाम का रूप लेते हैं
<index or key type>_<table name>_<column 1>_<column 2>_<column n>


1
Nonunique क्लस्टर किए गए अनुक्रमित के बारे में क्या? CX?
बजे क्रिस मैरिसिक

8
मुझे कभी भी एक गैर अद्वितीय क्लस्टर इंडेक्स की आवश्यकता नहीं थी ... मुझे पता है कि यह संभव है, लेकिन यह मुझे कार्रवाई का सही कोर्स नहीं लगता है।
जेएसआर

4
यहां दिए गए उत्तर के अनुसार stackoverflow.com/questions/1401572/… कुंजीशब्द और INDEX समानार्थक शब्द हैं। तो यह अद्वितीय कुंजी और अद्वितीय अनुक्रमित के लिए अलग-अलग उपसर्गों की आवश्यकता नहीं होनी चाहिए?
स्कजेराल्डास

2
इसका तार्किक अंतर है, मैं UniqueKey का उपयोग करता हूं यदि कोई विदेशी कुंजी संदर्भ होगा, अन्यथा मैं एक UniqueIndex का उपयोग करता हूं।
JSR

1
तालिका का नाम क्यों शामिल है जब दो तालिकाओं में एक ही सूचकांक नाम हो सकता है? अर्थात विशिष्टता की आवश्यकता नहीं है।
ताहिर हसन

25

मैं आमतौर पर तालिका के नाम और उनमें शामिल स्तंभों के नाम अनुक्रमित करता हूं:

ix_tablename_col1_col2

2
आप इंडेक्स कॉलम और शामिल कॉलम के बीच अंतर कैसे करते हैं?
जॉन सेन्सोम

3
मुझे पूरा यकीन है कि वह केवल अनुक्रमित स्तंभों को सूचीबद्ध कर रहा है, इस क्रम में कि उन्हें सूचकांक में रखा जा रहा है।
ब्रेट

मैं इसे इस प्रकार उपयोग करता हूं: IX_TableName_col1_col2-शामिलकॉल 1-निगमित 2
फ्रीगेल

9

क्या यह विदेशी चाबियों से जुड़े सूचकांकों के लिए एक विशेष उपसर्ग के लायक है? मुझे ऐसा लगता है, क्योंकि यह मुझे याद दिलाता है कि विदेशी कुंजी पर सूचकांक डिफ़ॉल्ट रूप से नहीं बनाए जाते हैं, और इसलिए यह देखना आसान है कि क्या वे गायब हैं।

इसके लिए, मैं उन नामों का उपयोग कर रहा हूं जो विदेशी कुंजी के नाम से मेल खाते हैं:

FK_[table]_[foreign_key_table]

या, जहाँ एक ही टेबल पर कई विदेशी कुंजियाँ मौजूद हैं

FK_[table]_[foreign_key_table]_[foreign_key_field]

1

मैं एक पुराना विषय जानता हूं, लेकिन मुझे लगा कि मैं अपने 2 सेंट में लायक फेंक दूंगा

  • PKC_ प्राथमिक कुंजी, क्लस्टर की गई
  • PKNC_ प्राथमिक कुंजी, गैर क्लस्टर
  • NCAK_ नॉन क्लस्टर्ड, यूनिक
  • CAK_ क्लस्टर, अद्वितीय
  • NC_ गैर क्लस्टर

उदाहरण;

NCAK_AccountHeader_OrganisationID_NextDate

जहां NCAK: नॉन क्लस्टर्ड, यूनिक, अकाउंटहेडर: टेबल और ऑर्गनाइजेशन_NextDate: कॉलम।


5
वैकल्पिक कुंजी - en.wikipedia.org/wiki/Unique_key#Alternate_key
Pixelated
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.