2011-01-29 14 views
93

नामकरण सम्मेलन महत्वपूर्ण हैं, और प्राथमिक कुंजी और विदेशी कुंजी का सामान्य रूप से उपयोग किया जाता है और स्पष्ट सम्मेलन (PK_Table और FK_Table_ReferencedTable क्रमशः)। इंडेक्स के लिए IX_Table_Column नामकरण भी काफी मानक है।अद्वितीय बाधा के लिए नामकरण सम्मेलन

अद्वितीय बाधा के बारे में क्या? क्या इस बाधा के लिए एक आम तौर पर स्वीकृत नामकरण सम्मेलन है? मैंने UK_TableName_Column, UQ_TableName_Column देखा है, और AX_TableName_Column की सिफारिश करने वाला कोई व्यक्ति - मुझे नहीं पता कि यह कहां से आता है।

मैं आम तौर पर UQ का उपयोग किया है, लेकिन मैं नहीं विशेष रूप से ऐसा लगता है कि, और मैं एक UK वकील के खिलाफ इसे का उपयोग मेरी पसंद का बचाव करने के लिए होने का आनंद नहीं है।

मैं बस अगर कोई सबसे अधिक प्रचलित नामकरण पर एक आम सहमति, या करने के लिए क्यों एक दूसरों की तुलना में अधिक समझ में आता है के रूप में एक अच्छा तर्क है देखना चाहेंगे।

+3

मैं UQ_ ...... –

+1

@Mitch किसी भी कारण है कि का उपयोग करें? मैं भी करता हूं लेकिन मैं हमेशा खुद से पूछता हूं कि क्यों कोई भी 'यू' का उपयोग नहीं करता है। 'क्यू' के लिए क्या खड़ा है? –

+0

आप इंडेक्स के लिए आईएक्स के बारे में एक ही सवाल पूछ सकते हैं ... मैं क्यों नहीं? –

उत्तर

41

मेरे सोच यह एक महत्वपूर्ण नहीं है: यह एक बाधा है।

यह पाठ्यक्रम के एक कुंजी के रूप में इस्तेमाल किया जा सकता है, और विशिष्ट एक पंक्ति की पहचान करता है, लेकिन यह कुंजी नहीं है।

एक उदाहरण यह होगा कि कुंजी "थिंगिड" है, एक सरोगेट कुंजी प्राकृतिक कुंजी थिंगनाम के स्थान पर उपयोग की जाती है। आपको अभी भी बाध्यनाम की आवश्यकता है: हालांकि इसे किसी कुंजी के रूप में उपयोग नहीं किया जाएगा।

मैं भी UQ और UQC (यदि क्लस्टर) का उपयोग करेंगे।

आप इसके बजाय एक अद्वितीय अनुक्रमणिका का उपयोग कर सकते हैं और "IXU" के लिए जा सकते हैं। नियोजित तर्क से, एक सूचकांक भी एक कुंजी है, लेकिन केवल अद्वितीय होने पर। अन्यथा यह एक सूचकांक है। तो फिर हम अनन्य इंडेक्स के लिए अद्वितीय इंडेक्स और IX_columnname के लिए IK_columnname से शुरू करेंगे। अद्भुत।

और एक अद्वितीय बाधा और एक अद्वितीय सूचकांक के बीच फर्क सिर्फ इतना है स्तंभों में शामिल है।

संपादित करें: फ़रवरी 2013. चूंकि SQL Server 2008 के बाद, अनुक्रमणिका में फ़िल्टर भी हो सकते हैं। होने के लिए प्रतिबन्ध

तो नहीं कर सकते हैं, यह एसक्यूएल का उपयोग ग्रह

  • उपयोग अद्वितीय अनुक्रमणिका के लिए इंद्रकुमार (भी क्लस्टर के लिए IKC) के आराम के अनुसार UQ साथ

    • छड़ी से एक के लिए नीचे आता है लगातार ...
  • +1

    क्या आप "यूईक्सयू" पर "IXU" को दृढ़ता से प्राथमिकता देंगे? –

    +1

    https://blogs.msdn.microsoft.com/dtjones/2009/10/29/best-practice-naming-constraints/ –

    6

    मैं यूक्यू का उपयोग करता हूं। यूके में के ने मुझे के बारे में सोचा है क्योंकि इसका उपयोग पीके और एफके में किया जाता है। खैर, जब भी मैं यूनाइटेड किंगडम के बारे में सोचता हूं; विडंबना यह है कि इस अद्वितीय के लिए एक उपसर्ग होना चाहिए जब ब्रिटेन बहुत से अन्य संघों = लाता है)

    89

    मेरे सूचकांक और बाधाओं के लिए नामकरण परंपरा:

    • प्राथमिक कुंजी। _PK
    • अद्वितीय अनुक्रमणिका/बाधा। _AK {xx}
    • गैर-अद्वितीय अनुक्रमणिका। _IX {xx}
    • बाधा जांचें।_CK {xx}
    • डिफ़ॉल्ट बाधा। _DF {xx}
    • विदेशी कुंजी बाधा। _ एफके {xx}

    जहां {xx} एक 2-अंकीय अनुक्रम संख्या है, प्रत्येक तालिका में प्रत्येक बाधा प्रकार के लिए 01 से शुरू होता है। प्राथमिक कुंजी को अनुक्रम संख्या नहीं मिलती है क्योंकि केवल एक ही हो सकता है। 2-चार अल्फा प्रत्यय अर्थ हैं:

    • पी: प्राथमिक कुंजी
    • एके: वैकल्पिक कुंजी
    • FK: विदेशी कुंजी
    • नौवीं: सूचकांक
    • सी.के.: जाँच
    • DF: DeFault

    मैं आम तौर पर ओबीजे के बजाए नियंत्रण वस्तु द्वारा मेटाडेटा/सिस्टम कैटलॉग डेटा समूह करना चाहता हूं ect प्रकार।

    +5

    एके देखें: वैकल्पिक कुंजी क्या एसक्यूएल सर्वर डेटा टूल 2012 के डिजाइन सतह उन्हें भी कहता है। –

    +7

    @AlexKeymith: ** यह बताने के लिए ** धन्यवाद कि माइक्रोसॉफ्ट इसके लिए एके का उपयोग क्यों करता है !! –

    +0

    कोई समस्या नहीं है @TJCrowder :-) –

    संबंधित मुद्दे