संबंधों को संभालने वाले एमवीसी ढांचे के साथ काम करते समय विदेशी कुंजी को परिभाषित करने का क्या फायदा है?विदेशी कुंजी को परिभाषित करने के क्या फायदे हैं
मैं एक ढांचे के साथ एक संबंधपरक डेटाबेस का उपयोग कर रहा हूं जो संबंधों के साथ मॉडल परिभाषाओं की अनुमति देता है। चूंकि विदेशी कुंजी को मॉडल के माध्यम से परिभाषित किया जाता है, ऐसा लगता है कि विदेशी कुंजी अनावश्यक हैं। जब विकास में किसी एप्लिकेशन के डेटाबेस को प्रबंधित करने की बात आती है, तो विदेशी कुंजी का उपयोग कर रहे टेबल को संपादित/हटाना एक परेशानी है।
क्या विदेशी कुंजी का उपयोग करने के लिए कोई फायदा है जिसे मैं पूरी तरह से उपयोग छोड़कर जा रहा हूं?
विदेशी कुंजी संबंध डेटा परत पर डेटा अखंडता को लागू करते हैं जिससे सिस्टम में खराब डेटा कम हो जाता है; नहीं वास्तव में नहीं। उदाहरण के लिए यदि आपके पास लिंग तालिका में एफके रिश्ते के साथ एक व्यक्ति तालिका थी, तो डेवलपर 'whocares' के लिंग के साथ व्यक्ति में एक रिकॉर्ड डाल सकता है। अब, आप इसकी परवाह नहीं कर सकते हैं, लेकिन यदि आप वैध प्रविष्टियों को तर्क बनाते हैं और केवल पुरुष/महिला की अपेक्षा करते हैं, तो अच्छी तरह से ... आपको एक समस्या होगी। यदि आप कभी भी ईआरडी प्राप्त करने के लिए डीबी इंजीनियर को पीछे हटाना चाहते हैं, तो आपको भी समस्याएं होंगी। और मचान और अन्य प्रौद्योगिकियों के डिजाइन के इस स्तर पर रिले ... – xQbert
अत्यधिक संबंधित: [विदेशी कुंजी अभ्यास में सिद्धांत की तुलना में अधिक उपयोग क्यों कर रहे हैं?] (http://stackoverflow.com/questions/1876013/why-are-foreign -कर्स-अधिक-प्रयोग-इन-थ्योरी-इन-प्रैक्टिस) –
हमारे पास एक ऐसी जगह थी जहां मैं काम करता था: एक ऐप की कोई विदेशी कुंजी नहीं थी क्योंकि ओआरएम ने ऐसे सभी मामलों को संभाला था। एक दिन बहुत महत्वपूर्ण ग्राहक ने महत्वपूर्ण डेटा हानि की खोज की जो अंततः ओआरएम में एक बग पर वापस आ गया। रिश्ते को बहुत हानिकारक, ओआरएम डेवलपर को दोषी ठहराते हुए मदद नहीं करता है। विदेशी कुंजी बहुत जल्द बाद में जोड़ा गया था! – onedaywhen