अपने अनुभव में मैं जिन मुख्य चीजों की तलाश करूंगा, वे हैं:
तालिका और स्तंभ नामकरण - यह देखें कि क्या आप आईडी प्रकार के स्तंभों के लिए आईडी, संदर्भ या संख्या का उपयोग करते हैं, नामों के लिए एकवचन या बहुवचन (तालिका नामों के लिए सामान्य होना - उदाहरण के लिए, स्तंभ नामों के लिए एकवचन - जैसे THING_ID)। मेरे लिए यहां सबसे महत्वपूर्ण चीजें हैं संगति जो लोगों का समय बर्बाद करने से बचती हैं (उदाहरण के लिए आप टाइपो में नहीं भागते हैं जहां किसी ने थिंग को एक टेबल नेम के रूप में रखा है क्योंकि आप बस सहज रूप से जानते हैं कि टेबल के नाम कभी भी विलक्षण नहीं हैं)।
सभी बनाता है एक ड्रॉप (मौजूदा वस्तु पर सशर्त) उनकी फ़ाइल के हिस्से के रूप में शामिल होना चाहिए। आप अपने लिए अनुदान अनुमति भी शामिल कर सकते हैं।
चयन, अद्यतन, आवेषण और विलोपन को एक स्तंभ नाम, एक तालिका नाम और एक जहां प्रति पंक्ति खंड द्वारा आदेश / निर्धारित किया जाना चाहिए ताकि उन्हें डीबगिंग के दौरान एक बार में आसानी से एक टिप्पणी की जा सके।
ऑब्जेक्ट प्रकारों के लिए उपसर्ग विशेष रूप से जहां वे भ्रमित हो सकते हैं (इसलिए सबसे महत्वपूर्ण होने के लिए वी देखें)। सुनिश्चित नहीं है कि यह अभी भी लागू होता है, लेकिन यह sp_ शुरू करने के लिए सिस्टम प्रक्रियाओं के अलावा संग्रहीत प्रक्रियाओं के लिए अक्षम हुआ करता था। शायद सबसे अच्छा अभ्यास उन्हें अलग करने के लिए वैसे भी us__ वही था जो मैंने हाल ही में उपयोग किया है।
एक मानक का संकेत है कि ट्रिगर के नाम को कैसे शामिल किया जाना चाहिए, चाहे वह अपडेट / इन्सर्ट / डिलीट हो और उस पर लागू होने वाली तालिका। मेरे पास कोई पसंदीदा मानक नहीं है लेकिन यह महत्वपूर्ण जानकारी है और इसे खोजना आसान होना चाहिए।
SQL सर्वर या स्कीमा के पूर्व संस्करणों में वस्तुओं के स्वामित्व के लिए मानक यह 2005 और बाद में मौजूद होना चाहिए। यह आपकी कॉल है कि यह क्या है, लेकिन आपको कभी भी यह अनुमान नहीं लगाना चाहिए कि कोई ऐसा व्यक्ति है / जहाँ वह रहता है) और जहाँ संभव हो स्कीमा / मालिक को इसे गलत तरीके से बनाए जाने की संभावना को कम करने के लिए क्रिएट स्क्रिप्ट में शामिल किया जाना चाहिए।
एक संकेतक जो SELECT * का उपयोग कर रहा है, वह अपने स्वयं के मूत्र का एक पिंट पीने के लिए बनाया जाएगा।
जब तक कि वास्तव में, वास्तव में अच्छा कारण नहीं है (जिसमें आपकी ओर से आलस्य शामिल नहीं है), शुरू से ही प्राथमिक कुंजी / विदेशी प्रमुख संबंधों को लागू करना और बनाए रखना है। यह सब एक संबंधपरक डेटाबेस के बाद है न कि एक सपाट फाइल और अनाथ अभिलेख किसी बिंदु पर आपके समर्थन जीवन को नरक बनाने जा रहे हैं। कृपया यह भी जान लें कि यदि आप ऐसा नहीं करते हैं तो मैं आपसे वादा कर सकता हूं कि आप कभी भी इसे इवेंट के बाद कार्यान्वित करने का प्रबंधन नहीं करेंगे क्योंकि यह आपके डेटा के एक बार काम करने का 10 गुना है (जो थोड़ा खराब हो जाएगा क्योंकि आप कभी लागू नहीं हुए हैं रिश्ते ठीक से)।
मुझे यकीन है कि मैंने कुछ याद किया है, लेकिन मेरे लिए वे वही हैं जो वास्तव में स्थितियों की एक सभ्य संख्या में वास्तविक लाभ प्रदान करते हैं।
लेकिन सभी मानकों के साथ, कम अधिक है। आपके कोडिंग मानक जितने लंबे होंगे, लोगों के पढ़ने और उनका उपयोग करने की संभावना उतनी ही कम होगी। एक बार जब आप कुछ अच्छी तरह से जगह पा लेते हैं, तो कुछ ऐसे पृष्ठ छोड़ने लगते हैं, जो वास्तव में वास्तविक दुनिया में व्यावहारिक अंतर नहीं लाते हैं, क्योंकि आप लोगों के किसी भी काम को करने का मौका कम कर रहे हैं।
संपादित करें: दो सुधार - स्वामित्व अनुभाग में स्कीमा सहित, गणना (*) के बारे में एक गलत टिप को हटाने से - नीचे टिप्पणी देखें।