मेरे प्रश्न के पहले भाग के बारे में: मैं हाल ही में खुद से पूछ रहा था कि संबंधपरक डेटाबेस में कुछ तालिकाओं के लिए एक अद्वितीय पहचानकर्ता होने के लाभ और व्यापार-बंद क्या हैं। एक उदाहरण के रूप में, फेसबुक (एफबी) ग्राफ एपीआई एक ही यूआरएल का उपयोग करते हुए विभिन्न प्रकार की ऑब्जेक्ट्स जैसे "यूजर", "इवेंट्स", "पन्ने" इत्यादि लाने की इजाजत देता है, उदाहरण के लिए https://domain/251906384206 "इवेंट" प्रकार का ऑब्जेक्ट देता है जबकि https://domain/195466193802264 "समूह" प्रकार का ऑब्जेक्ट देता है।संबंधपरक डेटाबेस में विश्व स्तर पर अद्वितीय पहचानकर्ता को लागू करने के तरीकों/विपक्ष के तरीके और विपक्ष?
कम "जेनेरिक" एपीआई प्रदान करने की तुलना में इस दृष्टिकोण का लाभ क्या है, जिसका उपयोग इस तरह किया जाएगा: https://domain/event/251906384206 या https://domain/group/195466193802264। इस मामले में, एक समान पहचानकर्ता का उपयोग विभिन्न ऑब्जेक्ट प्रकारों के लिए किया जा सकता है क्योंकि प्रत्येक ऑब्जेक्ट प्रकार में इसका पहचानकर्ता गुंजाइश है।
प्रश्न के दूसरे भाग के बारे में: एक वैश्विक रूप से अद्वितीय पहचानकर्ता लागू करने के लिए विकल्प क्या हैं?
दो विकल्प है कि मेरे दिमाग में आ रहे हैं:
एक विरासत आधारित दृष्टिकोण का उपयोग करना (तालिका-प्रति-वर्ग, एकल तालिका, आदि)। एक टेबल-प्रति-वर्ग दृष्टिकोण मानते हुए (सुपर टेबल में केवल प्राथमिक कुंजी के रूप में अद्वितीय पहचानकर्ता होता है, ऑब्जेक्ट प्रकार का प्रतिनिधित्व करने वाली उप तालिका में सुपर टेबल और अतिरिक्त डेटा के समान इंडेंटिफायर होता है), सुपर और उप तालिका के बीच जुड़ने की आवश्यकता होती है जो बुरी तरह से स्केल करता है क्योंकि सुपर टेबल एक बाधा बन जाती है?
3 कॉलम युक्त तालिका प्रदान करना,
- अद्वितीय पहचानकर्ता,
- ऑब्जेक्ट प्रकार specifc primar कुंजी है, और
- तालिका नाम हैं।
अतिरिक्त ऑब्जेक्ट प्रकार प्रति ऑब्जेक्ट प्रकार जिसमें अद्वितीय कुंजी पहचानकर्ता को विदेशी कुंजी के रूप में संदर्भित किया गया है। प्रत्येक ऑब्जेक्ट प्रकार विशिष्ट तालिका में इसका अपना प्राथमिक कुंजी दायरा होता है।
दोनों दृष्टिकोण उपरोक्त वर्णित एफबी एपीआई जैसे सामान्य API प्रदान करने की अनुमति देंगे। दूसरा दृष्टिकोण आंतरिक रूप से ऑब्जेक्ट टेबल विशिष्ट प्राथमिक कुंजी का उपयोग करने और वैश्विक रूप से अद्वितीय पहचानकर्ता को बेनकाब करने की अनुमति देगा। हालांकि, यदि एक वैश्विक अद्वितीय पहचानकर्ता आंतरिक रूप से उपयोग किया जा सकता है, तो दूसरे दृष्टिकोण को भी शामिल होने की आवश्यकता होगी।
वहाँ एक विश्व स्तर पर अद्वितीय पहचानकर्ता के पेशेवरों/विपक्ष के बारे में कोई अनुभव हैं और यह लागू करने के लिए सर्वोत्तम प्रथाओं क्या हैं?
"फिर से, आप सवाल है कि कैसे एक डेटाबेस में वस्तुओं का प्रतिनिधित्व करने के लिए और अधिक, है G.U.I.D. के उपयोग की तुलना में" गलत, मेरे प्रश्न का पहला भाग एक उपयोग बिंदु दृश्य से एक वैश्विक रूप से अद्वितीय पहचानकर्ता का उपयोग करने के पेशेवरों और विपक्ष को संदर्भित करता है (उदाहरण के लिए उपयोग करने में आसान एपीआई डिज़ाइन करने में सक्षम होना)। एक वैश्विक रूप से अद्वितीय इंडेंटिफायर को मानना आवश्यक है, मेरे प्रश्न का दूसरा भाग वैश्विक स्तर पर अद्वितीय पहचानकर्ता को कार्यान्वित करने के सवाल को संदर्भित करता है।स्पष्ट रूप से कई विकल्प हैं। प्रश्न के बाद के हिस्से की एक चर्चा को डेटबेस डिजाइन जारी करने पर विचार करना है। – Scholle
जीयूआईआईडी (एस) उपयोगी हैं, जब बड़ी मात्रा में रिकॉर्ड्स का उपयोग किया जा रहा है या/और कई क्लस्टर या सर्वरों में एक ही डेटाबेस का उपयोग किया जा रहा है, क्योंकि कोई डुप्लीकेट कुंजी नहीं है। – umlcat