मुझे PostgreSQL नामकरण सम्मेलनों के बारे में विस्तृत मैनुअल कहां मिल सकता है? (तालिका नामों बनाम ऊंट मामले, दृश्यों, प्राथमिक कुंजी, बाधाओं, अनुक्रमित, आदि ...)PostgreSQL नामकरण सम्मेलन
उत्तर
तालिकाओं के नाम, मामले, आदि के बारे में, प्रचलित परंपरा है:
- एसक्यूएल कीवर्ड:
UPPER CASE
- नाम (पहचानकर्ता):
lower_case_with_underscores
UPDATE my_table SET name = 5;
इस पत्थर में नहीं लिखा है, लेकिन छोटे अक्षर में पहचानकर्ता के बारे में थोड़ा और अत्यधिक की सिफारिश की है, IMO। Postgresql उद्धृत नहीं होने पर पहचानकर्ताओं के मामले को असंवेदनशील रूप से मानता है (यह वास्तव में उन्हें आंतरिक रूप से लोअरकेस में जोड़ता है), और उद्धृत होने पर संवेदनात्मक मामला; बहुत से लोग इस मूर्खता से अवगत नहीं हैं। हमेशा लोअरकेस का उपयोग करके आप सुरक्षित हैं। वैसे भी, camelCase
या PascalCase
(या UPPER_CASE
) का उपयोग करने के लिए स्वीकार्य है, जब तक कि आप लगातार हों: या तो उद्धरण पहचानकर्ता हमेशा या कभी नहीं (और इसमें स्कीमा निर्माण शामिल है!)।
मुझे कई और सम्मेलनों या स्टाइल गाइड के बारे में पता नहीं है। सरोगेट कुंजी आमतौर पर अनुक्रम से बनाई जाती हैं (आमतौर पर serial
मैक्रो के साथ), यदि आप उन्हें हाथ से बनाते हैं तो यह अनुक्रमों के लिए नामकरण करना सुविधाजनक होगा (tablename_colname_seq
)।
कुछ चर्चा here, here और (सामान्य एसक्यूएल के लिए) here, सभी संबंधित लिंक के साथ भी देखें।
क्या अपरकेस या लोअरकेस में डेटा प्रकारों को संदर्भित करने और संदर्भ कार्यों के संदर्भ में कोई सम्मेलन है? (यानी 'regclass' या' REGCLASS' और 'to_timestamp (0)' या 'TO_TIMESTAMP (0)')? मुझे लगता है कि हम पहचानकर्ताओं के रूप में प्रकार और कार्यों पर विचार करते हैं, और इसलिए लोअरकेस? – d11wtq
एफडब्ल्यूआईडब्ल्यू, एकमात्र मूर्खता यह है कि पीजी कम मामले में फोल्ड करता है, जहां एसक्यूएल मानक कहता है कि इसे ऊपरी मामले में फोल्ड करना चाहिए। डीबीएमएस जो फोल्ड करने में असफल होते हैं वे अजीब गैर-मानक वाले होते हैं। –
पोस्टग्रेज़ के नए उपयोगकर्ता के रूप में, यह बहुत निराशाजनक है। टाइपिंग कोट्स के बीच हर समय या बदसूरत नामकरण सम्मेलन का उपयोग करने के बीच चयन करना पड़ता है। यह गधे बेकार है। – d512
वास्तव में एक औपचारिक मैनुअल नहीं है, क्योंकि कोई भी शैली या मानक नहीं है।
तो जब तक आप the rules of identifier naming आप उपयोग कर सकते हैं जो कुछ भी आप की तरह समझते हैं।
व्यवहार में, मैं क्योंकि यह "Double Quote"
उन्हें हर जगह के मामले में, रिक्त स्थान को संरक्षित करने, आदि
यदि आप अपने टेबल और कार्यों "@MyAṕṕ! ""betty"" Shard$42"
आप होगा नाम करना चाहता था करने के लिए आवश्यक नहीं है यह आसान lower_case_underscore_separated_identifiers
उपयोग करने के लिए लगता है ऐसा करने के लिए स्वतंत्र, हालांकि यह हर जगह टाइप करने के लिए दर्द होगा।
मुख्य बातों को समझने के लिए कर रहे हैं:
जब तक डबल-कोटेड, पहचानकर्ता मामले मुड़ा लोअर केस है, इसलिए
MyTable
,MYTABLE
औरmytable
सब एक ही बात कर रहे हैं, लेकिन"MYTABLE"
और"MyTable"
हैं विभिन्न;जब तक डबल-कोटेड:
एसक्यूएल पहचानकर्ता और प्रमुख शब्दों एक पत्र से आरंभ होने चाहिए (a-z, लेकिन यह भी पत्र विशेषक चिह्न और गैर-लैटिन पत्र के साथ) या अंडरस्कोर (_)। पहचानकर्ता या कुंजी शब्द के बाद के वर्ण अक्षर, अंडरस्कोर, अंक (0-9), या डॉलर संकेत ($) हो सकते हैं।
यदि आप उन्हें पहचानकर्ता के रूप में उपयोग करना चाहते हैं तो आपको कीवर्ड को दोबारा उद्धृत करना होगा।
व्यवहार में मैं दृढ़ता से सुझाव है कि आप पहचानकर्ता के रूप में नहीं उपयोग keywords कर । कम से कम आरक्षित शब्दों से बचें। सिर्फ इसलिए कि आप एक तालिका "with"
नाम दे सकते हैं इसका मतलब यह नहीं है कि आपको चाहिए।
डॉक्टर [पहचानकर्ता नामकरण के नियम] पर लिंक करने के लिए धन्यवाद (http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS)। मुझे उस विशेष विषय को खोजने में कठिनाई थी। –
- 1. नामकरण सम्मेलन?
- 2. एफ # नामकरण सम्मेलन
- 3. SqlServer पहचान नामकरण सम्मेलन
- 4. serialVersionUID नामकरण सम्मेलन
- 5. AJAX नामकरण सम्मेलन
- 6. पर्ल क्लास नामकरण सम्मेलन
- 7. नामकरण चर, सर्वोत्तम सम्मेलन
- 8. पीएचपी लक्षण सम्मेलन नामकरण?
- 9. बिटमैस्क पैरामीटर नामकरण सम्मेलन?
- 10. आईओएस छवि नामकरण सम्मेलन
- 11. नेमस्पेस नामकरण सम्मेलन
- 12. एक्सएएमएल संसाधन नामकरण सम्मेलन
- 13. परियोजनाएं/पैकेज नामकरण सम्मेलन?
- 14. रूबी मणि नामकरण सम्मेलन
- 15. असेंबली नामकरण सम्मेलन
- 16. माइक्रोसॉफ्ट वीबी.नेट नामकरण सम्मेलन
- 17. कार्यात्मक सर्वर नामकरण सम्मेलन
- 18. आईओएस प्रतिनिधि नामकरण सम्मेलन -
- 19. पाइथन वैरिएबल नामकरण सम्मेलन
- 20. Django मॉडल नामकरण सम्मेलन
- 21. .NET परीक्षण नामकरण सम्मेलन
- 22. हास्केल मॉड्यूल नामकरण सम्मेलन
- 23. लेआउट फाइलें नामकरण सम्मेलन?
- 24. आईडी नामकरण सम्मेलन?
- 25. ExtJS 4 नामकरण सम्मेलन
- 26. रेडिस कुंजी नामकरण सम्मेलन?
- 27. सी # नामकरण सम्मेलनों के लिए नामकरण सम्मेलन
- 28. धागे के लिए नामकरण सम्मेलन?
- 29. इष्टतम विस्तारित वर्ग नामकरण सम्मेलन?
- 30. सजावटी में पाइथन नामकरण सम्मेलन
अच्छा, अगर हम थोड़ा आगे जाएंगे और सामान्य नामकरण संयोजक देखेंगे तो मैं अत्यधिक इस उत्तर की जांच करने की अनुशंसा करता हूं: http://stackoverflow.com/questions/4702728/relational-table-naming-convention/4703155#4703155 – vyegorov