सार्वजनिक समानार्थक शब्द एक बहुत ही विशिष्ट उद्देश्य की पूर्ति करते हैं; वे किसी ऑब्जेक्ट को प्रत्येक . द्वारा संदर्भित किए जाने में सक्षम करते हैं उपयोगकर्ता - यह मानते हुए कि उनके पास उपयुक्त विशेषाधिकार हैं। यदि भविष्य में किसी भी बिंदु पर आप किसी विशिष्ट उपयोगकर्ता को किसी वस्तु को देखने का तरीका बदलना चाहते हैं तो सार्वजनिक समानार्थक शब्द जाने का रास्ता नहीं है।
वे संपूर्ण डेटाबेस के लिए एक विशिष्ट ऑब्जेक्ट नाम का भी उपयोग करते हैं। हालाँकि, यह तथ्य कि एक सार्वजनिक पर्यायवाची मौजूद है, आपको उसी नाम से एक वस्तु बनाने से नहीं रोकता है। यह अविश्वसनीय रूप से भ्रमित करने वाला हो सकता है।
उदाहरण के लिए, मान लें कि आपके पास एक प्रक्रिया है test
और एक स्कीमा emp
. emp.test
निष्पादित करने का प्रयास कर रहा है काम नहीं करेगा क्योंकि आपके पास पहले से ही सार्वजनिक पर्याय है emp
टेबल . पर ।
टॉम कायटेए> , ऐसा लगता है एक लिखा है लेखों की संख्या इस बारे में।
प्रदर्शन के पहलू पर वे यह सुझाव देते प्रतीत होते हैं कि एक निजी पर्यायवाची पर एक सार्वजनिक पर्यायवाची का परिणाम प्रदर्शन में थोड़ी कमी . हालांकि, समानार्थक शब्द के बजाय समानार्थी शब्द का उपयोग करने से भी प्रदर्शन में थोड़ी कमी आएगी। इससे पता चलता है कि यदि हर अंतिम computron कीमती है आपको समानार्थक शब्द का प्रयोग बिल्कुल भी नहीं करना चाहिए।
एक साथ रखो मुझे लगता है कि इसका मतलब है कि यदि संभव हो तो आपको सार्वजनिक समानार्थक शब्द से बचना चाहिए। अगर आपको जरूरत एक तो निश्चित रूप से एक का उपयोग करें, वे एक कारण के लिए मौजूद हैं, लेकिन यदि आप नहीं करते हैं तो एक होने का क्या मतलब है? scott.emp
निर्माण स्पष्ट है, आपको दिखाता है कि आप वास्तव में किस स्कीमा और ऑब्जेक्ट का संदर्भ दे रहे हैं, गलत व्याख्या की किसी भी संभावना के बिना, या तो स्वयं या किसी और के द्वारा डेटाबेस और कोड में नया आना।
त्वरित बिंदु। आप इसे स्पष्ट रूप से नहीं कहते हैं लेकिन आपके प्रश्न के शब्दों से लगता है कि आप प्रत्येक उपयोगकर्ता के लिए एक स्कीमा बना रहे हैं। ऐसा लगता है कि यह बड़े पैमाने पर भ्रमित करने वाला होगा...