2010-09-11 16 views
9

एसक्यूएल डाटाबेस टेबल के लिए सबसे आम नामकरण सम्मेलन क्या है? क्या यह ऐतिहासिक रूप से एक तरीका था और अब यह एक और तरीका करना बेहतर है? अब सबसे आम प्रथाएं क्या हैं?डाटाबेस टेबल नाम: बहुवचन या सिंगुलर

+3

यह एक सर्वेक्षण प्रश्न है और शायद सीडब्ल्यू होना चाहिए। –

+0

इस पर बहुत सारी बहसें! –

+0

यह आपके द्वारा उपयोग की जाने वाली भाषा पर निर्भर करता है। – Quassnoi

उत्तर

11

मैं हमेशा कॉलम नामों के लिए तालिका नामों और एकवचन के लिए बहुवचन का उपयोग करता हूं। ऐसा नहीं है कि इसके लिए कोई वास्तविक तकनीकी कारण है, यही वही है जो मैं पसंद करता हूं।

इससे कोई फर्क नहीं पड़ता, जब तक कि आप लगातार हों।

आईई।

 
+========+  +==========+ 
| Posts |  | Users | 
+--------+  +----------+ 
| idPost | |-> | idUser | 
| Poster | <-| | Name  | 
+========+  +==========+ 

इस के लिए मेरे तर्क क्या होता है जब आप वास्तविक क्वेरी लिखना है:

SELECT idPost, Name FROM Posts 
INNER JOIN Users ON Poster = idUser 

आप विलक्षण उपयोग करते हैं, ऐसा लगता है कि आप के बजाय के सेट से, एक पद से चयन किए जाने वाले सभी पोस्ट, और सभी उपयोगकर्ताओं के बजाय, एक ही उपयोगकर्ता से जुड़ना।

+1

यदि आप इसे इस तरह से देखना चाहते हैं तो यह केवल "उस तरह दिखता है"। यदि आप थोड़ी देर के लिए एकवचन का इस्तेमाल करते हैं तो यह अब और मजाकिया नहीं लगेगा। यही सब चीजों का तरीका है। – ErikE

+2

@Emtucifor: मेरा मानना ​​है कि "कोई फर्क नहीं पड़ता, जब तक आप लगातार हैं।" यही कारण है कि मुझे सबसे ज्यादा समझ में आता है, इसलिए मैं इसका उपयोग करता हूं। यदि आप एकवचन बेहतर पसंद करते हैं, तो इसका इस्तेमाल करें। लेकिन एन 'मैच मिश्रण मत करो। –

+1

मैं सिंगलुलर ऑब्जेक्ट्स में कनवर्ट करने वाले ओआरएम की वजह से एकवचन करता हूं, तालिका में भी एक रिकॉर्ड होता है, हालांकि उनमें से कई हैं, क्या होता है और "पार्टी" या "पार्टियों" या "पार्टिस" के साथ क्या बहस होती है। स्क्रिप्ट बिल्डिंग परिदृश्यों में, इन बिंदुओं के साथ एकवचन हमेशा सबसे आसान मार्ग रहा है। – SnapJag

10

नहीं - मेरे लिए एकवचन। यह "यूजर" टेबल है।

+0

केवल कारण मुझे यह पसंद नहीं है कि आप "उपयोगकर्ता से चयन नाम" जैसे कुछ करते हैं - ऐसा लगता है कि आप एक नाम का चयन कर रहे हैं, न कि सभी। लेकिन एक और अच्छे जवाब के लिए +1। –

+0

नहीं, एकाधिक पंक्तियां वापस आ सकती हैं। लेकिन मुझे खुशी है कि आपको यह पसंद है। धन्यवाद, बिली। – duffymo

+0

@ डफिमो: "उपयोगकर्ता" के कई उदाहरण। तालिका में वस्तु एक "उपयोगकर्ता" है। –

1

LINQ से SQL (और ईएफ, संभवतः), रूबी/रेल, आदि के लिए मानक पैटर्न - यह फ्रेमवर्क है जो कॉन्फ़िगरेशन पर सम्मेलन का चयन करता है - बहुवचन तालिका नामों का उपयोग करना है।

8

टेबल नामों के लिए बहुवचन - क्योंकि टेबल उपयोगकर्ता, उत्पाद, आइटम आदि को स्टोर करते हैं। मॉडल के लिए एकवचन नाम क्योंकि वे एकल आइटम हैं - उपयोगकर्ता, उत्पाद, आइटम। टेबल फ़ील्ड के लिए मैं mysql नामकरण सम्मेलन के अनुरूप हूं - user_id, product_price, item_count।

उनमें से किसी का भी उपयोग करें, लेकिन लगातार उपयोग करें - यह मेरा उत्तर होगा।

0

मैं आमतौर पर तालिका का नाम देता हूं कि मैं इसके साथ सहजता से कैसे संबंधित हूं।

+4

मुझे खेद है, लेकिन 110% यहां असहमत हैं। कोड के टुकड़े पर काम करने से कुछ भी बुरा नहीं है और स्कीमा में टेबल का नाम कैसा दिखता है, यह देखने के लिए अपनी सोच की ट्रेन को रोकना है। –

+0

हाँ, अच्छा बिंदु .... हो सकता है कि आईडी पहले टेबल डीफ़ पर शुरू हो, और उसके बाद उस सम्मेलन (एस या पीएल) – CheeseConQueso

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