मैं हर संबंधित टेबल विदेशी कुंजी का उपयोग या मैं नहीं करना चाहिए करना चाहिए? अगर मुझे उपयोग करना चाहिए, तो क्यों?क्या मुझे वास्तव में विदेशी कुंजी का उपयोग करना चाहिए?
उत्तर
"सभी संबंधित टेबल" हमेशा स्पष्ट नहीं है, तो यह एक स्पष्ट स्थिति नहीं है। ऐसी सारणी हो सकती है जिनमें एक आम कॉलम हो लेकिन वे एक-दूसरे को कभी न देख सकें।
यह काम है, तथापि, त्रुटियों कि पिछले अपनी प्राथमिक गढ़ पर्ची को रोकने और डेटा है कि आसानी से मिल नहीं है दर्ज किए जाने की अनुमति देने के लिए है।
वे प्रश्नों और अधिक कुशल बनाने यदि आप जगह में उचित अनुक्रमण करता है मदद नहीं करते हैं, और एक अच्छा आवेदन पर्याप्त है कि वे कभी भी आवश्यकता नहीं चाहिए इनपुट फिल्टर करेगा। लेकिन गलतियां होती हैं, और वे रक्षा की एक सस्ती रेखा हैं।
यदि आप डिज़ाइनिंग डेटाबेस के साथ सहज महसूस कर रहे हैं, तो आपके पास बुनियादी माता-पिता/बाल संबंध होने के बाद, बहुत अधिक समय में चिंता करने और परिष्कृत करने में कुछ समय नहीं है।
यहाँ कुछ background--
हाँ, आप should.Foreign कुंजी सिर्फ रोकें जो तुम में मदद करता है रिश्तों बनाने के लिए और सुनिश्चित करें कि आप अपने database.You में सही जानकारी किसी से गलत डेटा प्रवेश को रोकने के लिए उन्हें का उपयोग करना चाहिए है कि होने के लिए कर रहे हैं।
आप ऐसा करना चाहिए। वहाँ तीन मुख्य बिंदु निम्न हैं:
- अपने डीबी प्रणाली के आधार पर, आप बेहतर प्रदर्शन मिल सकता है
- विदेशी कुंजी सुनिश्चित डेटा अखंडता, उदा अनाथ रिकॉर्ड आदि
- वे एक स्पष्ट तरीका है अपने DB संरचना है, जो दृश्य के लिए उपकरण के द्वारा प्रयोग किया जा सकता है, कोड पीढ़ी आदि
हाँ दस्तावेज़ के लिए से बचने के लिए कर सकते हैं। लेकिन मध्यम स्तर पर। जब आप डेटा पूछताछ करते हैं तो इससे मदद मिलती है। यह आपके डेटा को अनुक्रमणित करने में मदद करता है, इतनी तेज क्वेरी। इसके अलावा यह संस्थाओं के बीच संबंधों को बनाए रखने में मदद करता है।
विदेश कुंजियों का उपयोग (यदि केवल नहीं) के आधार में से एक, रिलेशनल डेटाबेस के मुख्य अवधारणा है। जहां आवश्यक हो वहां आपको विदेशी कुंजी का उपयोग करना चाहिए। क्योंकि इस में मदद करता है:
- डेटा सत्यापन और अखंडता के सुनिश्चित करें
पहले एक एक क्षेत्र है कि जा रहा है करने के लिए मैन्युअल बजाय एक मूल्य जोड़ने के का मतलब है अतिरिक्त जगह की
दूसरा मतलब है कि आपको हर बार "संयुक्त राज्य अमेरिका" लिखना नहीं है, जो "संयुक्त राज्य अमेरिका" की आईडी लिखने से कहीं अधिक जगह लेगा।
वास्तव में इस समय विदेशी कुंजी आधारित संबंधपरक डेटाबेस से बढ़ती हुई चाल है। दस्तावेज़ डेटाबेस सिस्टम जैसे मोंगोडीबी अधिक लोकप्रिय हो रहे हैं।यह काफी हद तक है क्योंकि दुनिया बादल के साथ ज्यादा वितरित हो रही है।
इसका मतलब है कि तत्काल डेटा स्थिरता मानने के लिए कभी-कभी उचित या निष्पादक नहीं होता है।
यदि आप रुचि रखते हैं तो नोएसक्यूएल आधारित डेटाबेस, मोंगोडीबी कॉच डीबी और घटनात्मक consistancy पर पढ़ा है।
इसके थोड़े हमारे रिलेशनल प्रशिक्षित मन को समझने के लिए एक अजीब बात है, लेकिन बड़े पैमाने पर वेब समाधान का एक बहुत
की- 1. क्या मुझे विदेशी कुंजी का उपयोग करना चाहिए?
- 2. विदेशी कुंजी वास्तव में क्या है?
- 3. मुझे क्या gacutil.exe का उपयोग करना चाहिए?
- 4. क्या मुझे HttpRuntime.Cache का उपयोग करना चाहिए?
- 5. क्या मुझे jQuery.each() का उपयोग करना चाहिए?
- 6. क्या मुझे jQuery.inArray() का उपयोग करना चाहिए?
- 7. क्या मुझे बूटस्ट्रैप का उपयोग करना चाहिए?
- 8. com.apple.eawt - मुझे वास्तव में क्या स्थापित करना चाहिए
- 9. क्या करना चाहिए वास्तव में क्या करना चाहिए?
- 10. क्या मुझे कैस्केड डेलीट नियम का उपयोग करना चाहिए?
- 11. मुझे क्या करना चाहिए?
- 12. क्या मुझे पर्ल में ऑटोबॉक्स का उपयोग करना चाहिए?
- 13. मुझे एक विदेशी कुंजी कहां स्टोर करनी चाहिए?
- 14. विदेशी कुंजी में Django bulk_create वस्तुओं का उपयोग करना?
- 15. क्या मुझे इस स्थिति में ड्रोल का उपयोग करना चाहिए?
- 16. एंड्रॉइड: क्या मुझे MimeTypeMap.getFileExtensionFromUrl() का उपयोग करना चाहिए? [कीड़े]
- 17. मुझे किस पायथन का उपयोग करना चाहिए?
- 18. क्या विदेशी कुंजी तालिका प्राथमिक कुंजी बननी चाहिए?
- 19. मुझे पैरामीटर का उपयोग कब करना चाहिए?
- 20. क्या मुझे जावा में क्यूटी जंबी का उपयोग करना चाहिए?
- 21. क्या मुझे IntentService में वेक लॉक का उपयोग करना चाहिए?
- 22. रेल में, क्या मुझे जेनरेटर का उपयोग करना चाहिए?
- 23. क्या मुझे जावास्क्रिप्ट में बहुरूपता का उपयोग करना चाहिए?
- 24. मुझे किस डीबी का उपयोग करना चाहिए?
- 25. क्या मुझे ओपनसीवी का उपयोग बंद करना चाहिए?
- 26. क्या मुझे int या UInt16 का उपयोग करना चाहिए?
- 27. सी # मुझे सूची का उपयोग कब करना चाहिए और मुझे सरणीसूची का उपयोग कब करना चाहिए?
- 28. मुझे ConcurrentSkipListMap का उपयोग कब करना चाहिए?
- 29. मुझे _aligned_malloc() का उपयोग कब करना चाहिए?
- 30. मुझे @properties का उपयोग क्यों करना चाहिए?
संभव डुप्लिकेट [वास्तव में जरूरी विदेशी कुंजी एक डेटाबेस डिजाइन में हैं?] (Http://stackoverflow.com/प्रश्न/18,717/हैं-विदेशी कुंजी-सच-आवश्यक में एक-डेटाबेस डिजाइन) – cHao