2010-12-22 10 views
21

तालिका उपसर्ग क्या है, और उनके फायदे और नुकसान क्या हैं? यह MySQL के संबंध में है।तालिका उपसर्ग क्या है?

+0

आप किस प्रकार का डेटाबेस उपयोग कर रहे हैं? – RYFN

+0

क्या आप किसी तालिका नाम उपसर्ग का जिक्र कर रहे हैं जैसे कि tblTasks या schema i.e. dbo.tasks – Robb

+0

क्षमा करें, मेरा डेटाबेस mysql – alioygur

उत्तर

20

यह अक्सर एक दूसरे से एक ही स्क्रिप्ट के विभिन्न इंस्टॉलेशन को अलग करने के लिए उपयोग किया जाता है। उदाहरण के लिए मान लें कि आपके पास आपके सर्वर पर अलग-अलग सामग्री के साथ दो जूमला इंस्टॉलेशन हैं, लेकिन केवल एक MySQL डेटाबेस है।

अब, स्पष्ट कारणों के दोनों जूमला प्रतिष्ठानों के लिए एक ही डेटाबेस तालिकाओं का हिस्सा नहीं कर सकते, के रूप में है कि एक ही सामग्री प्रदर्शित दोनों प्रतिष्ठानों में परिणाम होगा। और यही वह जगह है जहां उपसर्ग में शामिल है।

विभिन्न तालिका उपसर्गों का उपयोग करके आप जूमला इंस्टॉलेशन # 1 को यह जान सकते हैं कि प्रीफ़िक्स JOS_ और जूमला इंस्टॉलेशन # 2 के साथ सभी तालिकाओं का उपयोग करना है, जिसमें सभी तालिकाओं का उपयोग करना है उपसर्ग JOS2_

0

यह आपके नामकरण सम्मेलन के आधार पर तालिकाओं और विचारों के बीच अंतर करने में मदद कर सकता है।

नुकसान यह है कि आप एक तालिका के नाम से संबंधित तक सीमित हो सकते हैं। इसके लिए ओरेकल की 30 वर्णों की सीमा है। यदि आप उपसर्ग के रूप में "Tbl_" का उपयोग करते हैं, तो आप स्वचालित रूप से 4 वर्ण खो देते हैं। यह एक समस्या हो सकती है।

3

टेबल्स को उपसर्ग की आवश्यकता नहीं है।

यह पूरी तरह से आपके ऊपर है।

हालांकि, हम टेबल आवेदन वे संबंध रखते हैं में मॉड्यूल के संबंध के साथ, बस समूह के लिए और अधिक आसानी से उपसर्ग टेबल।

4

कुछ लोगों tbl या tbl_ (जैसे tbl_MyTable या tblMyTable) की वकालत करते हैं जबकि अन्य इस तरह के MyTable_T के रूप में एक प्रत्यय के साथ चलते हैं।

व्यक्तिगत रूप से मैं उपसर्ग/प्रत्यय से बचता हूं। यदि समय के साथ एक स्कीमा बदल रहा है, तो मैं तालिका के स्थान पर एक दृश्य में प्रतिस्थापित कर सकता हूं, इसलिए मैं वास्तव में दो प्रकार के ऑब्जेक्ट के बीच अंतर नहीं करता हूं।

सबसे महत्वपूर्ण बात यह है कि आप अपने नामकरण दिशा-निर्देशों अपनी टीम के भीतर दस्तावेज और आप सभी स्थिरता के लिए दिशा निर्देश के एक ही सेट से चिपके होता है।

3

तालिका उपसर्ग अतिरिक्त सुरक्षा उपाय के रूप में भी उपयोगी हैं। उदाहरण के लिए, तालिका उपसर्गों को जोड़ना सामान्य तालिका नामों को अस्पष्ट करता है जिससे हैकर्स को SQL इंजेक्शन या अन्य सुरक्षा छेद के माध्यम से आपके डेटाबेस में डेटा तक पहुंचने में कठिनाई होती है क्योंकि उन्हें पहले यह पता लगाना होगा कि आपके टेबल नाम क्या हैं।

सिर्फ सुरक्षा की एक और परत के रूप में और न सुरक्षा के अपने ही तरीके के रूप में तालिका उपसर्ग को देखने के लिए सुनिश्चित करें, हालांकि,। एसक्यूएल इंजेक्शन और अन्य समान खतरों को रोकने के लिए आपको अभी भी अन्य सुरक्षा उपाय लेना चाहिए। उदाहरण के लिए, आपके कोड को कैसे सेट अप किया गया है, इस पर निर्भर करता है कि हैकर के लिए आपके डेटाबेस टेबल के नाम प्राप्त करने के लिए SQL इंजेक्शन के माध्यम से "शो टेबल" कमांड चलाने के लिए अभी भी संभव हो सकता है।

1

अजीब कोई भी उल्लेख नहीं करता है कि आप सामान्य रूप से आरक्षित कीवर्ड का उपयोग tablenames के रूप में करने के लिए तालिका उपसर्ग का भी उपयोग कर सकते हैं।

उदा। t_user या t_order अब संभव है।

+0

आप किसी MySQL तालिका के लिए किसी भी नाम का उपयोग कर सकते हैं, उदाहरण के लिए 'तालिका बनाएं \' ड्राप डेटाशॉप webshop; \ '(\' मान \ 'INT)' –

1

आप एक जटिल वेबसाइट और डेटाबेस संरचना है, तो तालिका उपसर्ग मदद मिल सकती है डेटाबेस में नामकरण संघर्ष को रोकने के।

आप अक्सर स्थितियों में तालिका उपसर्ग देख जहां:

  • एकाधिक स्क्रिप्ट एक वेबसाइट में एक साथ एकीकृत कर रहे हैं जा रहा है, और तैयार वेबसाइट डेटा साझा करने की जरूरत है, लेकिन तालिका नाम एक उपसर्ग के लिए अद्वितीय बिना संघर्ष होगा प्रत्येक लिपि

  • आप जो स्क्रिप्ट प्राप्त कर चुके हैं, उसमें कार्यक्षमता जोड़ रहे हैं, और आप उस स्क्रिप्ट के मूल तालिकाओं और मैन्युअल रूप से बनाई गई नई तालिकाओं के बीच अंतर करना चाहते हैं। इस तरह यदि आप एक नई तालिका बनाते हैं, तो यह बेस स्क्रिप्ट के किसी भी भविष्य के अपडेट के साथ संघर्ष नहीं करेगा, क्योंकि इसमें एक अलग तालिका उपसर्ग है।

  • आपके पास एक होस्टिंग योजना है जो आपको केवल एक डेटाबेस देता है और आप एकाधिक स्क्रिप्ट की सेवा के लिए उस डेटाबेस का उपयोग करना चाहते हैं। (यह कई कारणों से के लिए सिफारिश की है नहीं, लेकिन मैंने देखा है उपयोगकर्ता यह करते हैं।)

आप स्क्रैच से एक पटकथा लिख ​​रहे हैं, तालिका उपसर्ग आमतौर पर आवश्यक नहीं है, क्योंकि आप सभी पहलुओं को नियंत्रित कर रहे हैं डेटाबेस संरचना का। यह तब होता है जब आप एक साथ कई स्क्रिप्ट को एकीकृत करना शुरू करते हैं कि यह उपयोगी हो जाता है और कभी-कभी भी आवश्यक हो जाता है। यह आपको डेटाबेस में विवादों को नाम देने के बारे में चिंता किए बिना अद्वितीय डेटा दृश्य बनाने और तालिकाओं में शामिल होने और कई स्क्रिप्ट के बीच की अनुमति देता है।

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