मेरे पास डेटाबेस में टेबल फ़ील्ड नामकरण के बारे में एक व्यावहारिक प्रश्न है। उदाहरण के लिए, मेरे पास दो टेबल हैं:टेबल फ़ील्ड नामकरण सम्मेलन और एसक्यूएल स्टेटमेंट
student (id int; name varchar(30))
teacher (id int, s_id int; name varchar(30))
दो टेबल में 'आईडी' और "नाम" दोनों हैं। एसक्यूएल कथन में, यदि कोई टेबल नाम उपसर्ग नहीं किया गया है तो यह दोनों के लिए संदिग्ध होगा। दो विकल्प: SQL में एक क्षेत्र के उपसर्ग के रूप में
- उपयोग तालिका नाम 'जहां' खंड
- उपयोग पहले से जुड़ा हुआ तालिकाओं में फ़ील्ड नाम ताकि कोई उपसर्ग 'जहां' खंड में इस्तेमाल किया जाएगा।
कौन सा बेहतर है?
हां, हमेशा एक क्वेरी में ** सभी ** कॉलम संदर्भों को अर्हता प्राप्त करें। यह क्वेरी को भविष्य में तोड़ने से रोकता है जब कोई तालिका में कॉलम जोड़ता है (अस्पष्ट कॉलम संदर्भ त्रुटियों को प्रस्तुत करता है)। और, यह बाद में पाठक को एसक्यूएल को समझने में आसान बनाता है ... कि 'foobar' कॉलम' के अयोग्य संदर्भ ... यह है कि 'फीस' तालिका में कॉलम का संदर्भ, 'fi' तालिका या' फॉ टेबल? (क्या आपको टेबल परिभाषाओं के माध्यम से शिकार करने की हिम्मत नहीं है, यह जानने के लिए कि कौन सी तालिका संदर्भित करती है।) लेकिन मेरी निजी वरीयता कॉलम 'आईडी' नाम देना है जहां यह प्राथमिक (या अद्वितीय) कुंजी है। – spencer7593