SQL सर्वर कैस्केड पथों की सरल गणना करता है और, यह पता लगाने की कोशिश करने के बजाय कि क्या कोई चक्र वास्तव में मौजूद है, यह सबसे खराब मानता है और रेफ़रेंशियल एक्शन (CASCADE) बनाने से इनकार करता है:आप रेफ़रेंशियल क्रियाओं के बिना बाधाओं को बना सकते हैं और अभी भी बनाना चाहिए। यदि आप अपना डिज़ाइन नहीं बदल सकते हैं (या ऐसा करने से चीज़ों से समझौता हो जाएगा) तो आपको अंतिम उपाय के रूप में ट्रिगर्स का उपयोग करने पर विचार करना चाहिए।
FWIW कैस्केड पथों को हल करना एक जटिल समस्या है। अन्य एसक्यूएल उत्पाद केवल समस्या को अनदेखा करेंगे और आपको चक्र बनाने की अनुमति देंगे, इस मामले में यह देखने की दौड़ होगी कि कौन सा मूल्य आखिरी बार ओवरराइट करेगा, शायद डिजाइनर की अज्ञानता के लिए (उदाहरण के लिए एसीई/जेट ऐसा करता है)। मैं समझता हूं कि कुछ SQL उत्पाद साधारण मामलों को हल करने का प्रयास करेंगे। तथ्य बनी हुई है, SQL सर्वर कोशिश भी नहीं करता है, एक से अधिक पथों को अस्वीकार करके इसे अल्ट्रा सेफ खेलता है और कम से कम यह आपको ऐसा बताता है।
Microsoft स्वयं FK बाधाओं के बजाय ट्रिगर्स के उपयोग की सलाह देता है।