मुझे PostgreSQL नामकरण सम्मेलनों के बारे में एक विस्तृत मैनुअल कहां मिल सकता है? (तालिका नाम बनाम ऊंट मामले, अनुक्रम, प्राथमिक कुंजी, बाधाएं, अनुक्रमित, आदि ...)
मुझे PostgreSQL नामकरण सम्मेलनों के बारे में एक विस्तृत मैनुअल कहां मिल सकता है? (तालिका नाम बनाम ऊंट मामले, अनुक्रम, प्राथमिक कुंजी, बाधाएं, अनुक्रमित, आदि ...)
जवाबों:
तालिकाओं के नाम, मामले, आदि के बारे में, प्रचलित सम्मेलन है:
UPPER CASElower_case_with_underscoresUPDATE my_table SET name = 5;
यह पत्थर में नहीं लिखा है, लेकिन निचले मामले में पहचानकर्ताओं के बारे में बिट अत्यधिक अनुशंसित है, आईएमओ। Postgresql पहचानकर्ता मामले को असंवेदनशील व्यवहार करता है जब उद्धृत नहीं किया जाता है (यह वास्तव में आंतरिक रूप से कम करने के लिए उन्हें तह करता है), और जब उद्धृत किया जाता है तो संवेदनशील रूप से मामला; बहुत से लोग इस आइडिओसिप्रेस के बारे में नहीं जानते हैं। हमेशा लोअरकेस का उपयोग करना आप सुरक्षित हैं। वैसे भी, यह उपयोग करने के लिए स्वीकार्य है camelCaseया PascalCase(या UPPER_CASE), जब तक कि आप संगत कर रहे हैं: (! और इस स्कीमा निर्माण भी शामिल है) या तो उद्धरण पहचानकर्ता को हमेशा या कभी।
मुझे कई और सम्मेलनों या स्टाइल गाइड के बारे में पता नहीं है। सरोगेट कुंजी आम तौर पर एक अनुक्रम (आमतौर पर serialमैक्रो के साथ ) से बनाई जाती है , उन अनुक्रमों के लिए उस नामकरण से चिपकना सुविधाजनक होगा यदि आप उन्हें हाथ से बनाते हैं ( tablename_colname_seq)।
कुछ चर्चाएँ यहाँ देखें , यहाँ और (सामान्य एसक्यूएल के लिए) , यहाँ सभी संबंधित लिंक के साथ।
नोट: Postgresql 10 ने धारावाहिक केidentity लिए SQL- अनुरूप प्रतिस्थापन के रूप में कॉलम पेश किया ।
वास्तव में एक औपचारिक मैनुअल नहीं है, क्योंकि कोई एकल शैली या मानक नहीं है।
जब तक आप पहचानकर्ता के नामकरण के नियमों को समझते हैं तब तक आप जो चाहें उपयोग कर सकते हैं।
व्यवहार में, मुझे इसका उपयोग करना आसान लगता है lower_case_underscore_separated_identifiersक्योंकि "Double Quote"केस, स्पेस आदि को संरक्षित करने के लिए यह हर जगह आवश्यक नहीं है ।
यदि आप अपनी मेज और कार्यों को नाम देना चाहते हैं, तो आप "@MyAṕṕ! ""betty"" Shard$42"ऐसा करने के लिए स्वतंत्र होंगे, हालांकि यह हर जगह टाइप करने के लिए दर्द होगा।
समझने के लिए मुख्य बातें हैं:
जब तक डबल-कोटेड, पहचानकर्ता मामले मुड़ा लोअर केस कर रहे हैं, इसलिए MyTable, MYTABLEऔर mytableसभी एक ही बात कर रहे हैं, लेकिन "MYTABLE"और "MyTable"भिन्न हैं;
जब तक डबल-कोटेड:
SQL पहचानकर्ता और प्रमुख शब्द एक अक्षर (az, लेकिन यह भी वर्णनात्मक निशान और गैर-लैटिन अक्षर) या एक अंडरस्कोर (_) अक्षरों के साथ शुरू होना चाहिए। एक पहचानकर्ता या कुंजी शब्द में इसके बाद के अक्षर अक्षर, अंडरस्कोर, अंक (0-9) या डॉलर चिह्न ($) हो सकते हैं।
यदि आप उन्हें पहचानकर्ता के रूप में उपयोग करना चाहते हैं, तो आपको कीवर्ड्स को डबल-कोट करना होगा।
व्यवहार में, मैं दृढ़ता से सलाह देता हूं कि आप कीवर्ड को पहचानकर्ता के रूप में उपयोग न करें । कम से कम आरक्षित शब्दों से बचें। सिर्फ इसलिए कि आप एक तालिका का नाम दे सकते हैं इसका मतलब यह नहीं है कि आपको चाहिए।"with"
lower_case_underscore_separated_identifiers" ... हाल ही में, मैंने इसे "स्नेक केस" के रूप में वर्णित किया