मैंने अब तक जो देखा है उसका सारांश:
- कुछ लोगों को कैस्केडिंग बिल्कुल पसंद नहीं है।
कैस्केड हटाएं
- कैस्केड डिलीट तब समझ में आता है जब रिश्ते के शब्दार्थ में एक विशेष शामिल हो सकता है "इसका हिस्सा है " विवरण। उदाहरण के लिए, ऑर्डरलाइन रिकॉर्ड उसके मूल आदेश का हिस्सा है, और ऑर्डरलाइन को कई ऑर्डर के बीच कभी भी साझा नहीं किया जाएगा। अगर ऑर्डर गायब हो जाता है, तो ऑर्डरलाइन भी होनी चाहिए, और ऑर्डर के बिना एक लाइन एक समस्या होगी।
- कैस्केड डिलीट के लिए कैननिकल उदाहरण SomeObject और SomeObjectItems है, जहां किसी आइटम रिकॉर्ड के किसी संगत मुख्य रिकॉर्ड के बिना मौजूद रहने का कोई मतलब नहीं है।
- आपको नहीं करना चाहिए यदि आप इतिहास को संरक्षित कर रहे हैं या "सॉफ्ट/लॉजिकल डिलीट" का उपयोग कर रहे हैं तो कैस्केड डिलीट का उपयोग करें जहां आप केवल हटाए गए बिट कॉलम को 1/सत्य पर सेट करते हैं।
कैस्केड अपडेट
- कैस्केड अपडेट तब समझ में आता है जब आप सभी टेबलों पर सरोगेट कुंजी (पहचान/ऑटोइनक्रिकमेंट कॉलम) के बजाय वास्तविक कुंजी का उपयोग करते हैं।
- कैस्केड अपडेट के लिए प्रामाणिक उदाहरण तब होता है जब आपके पास एक परिवर्तनीय विदेशी कुंजी होती है, जैसे उपयोगकर्ता नाम जिसे बदला जा सकता है।
- आपको नहीं करना चाहिए कैस्केड अपडेट का उपयोग उन चाबियों के साथ करें जो पहचान/ऑटोइनक्रिकमेंट कॉलम हैं।
- कैस्केड अपडेट का सबसे अच्छा उपयोग एक अद्वितीय बाधा के संयोजन में किया जाता है।
कैस्केडिंग का उपयोग कब करें
- आप किसी ऑपरेशन को कैस्केड करने की अनुमति देने से पहले उपयोगकर्ता से एक अतिरिक्त मजबूत पुष्टि प्राप्त करना चाह सकते हैं, लेकिन यह आपके आवेदन पर निर्भर करता है।
- यदि आप अपनी विदेशी कुंजियों को गलत तरीके से सेट करते हैं, तो कैस्केडिंग आपको परेशानी में डाल सकती है। लेकिन अगर आप सही करते हैं तो आपको ठीक होना चाहिए।
- इसे अच्छी तरह समझने से पहले कैस्केडिंग का उपयोग करना बुद्धिमानी नहीं है। हालांकि, यह एक उपयोगी विशेषता है और इसलिए इसे समझने में समय लगता है।