स्वीकृत उत्तर एक अच्छा उत्तर नहीं है। वर्णित परिदृश्य खराब डिज़ाइन नहीं है, और न ही अपना काम करने के लिए डेटाबेस पर भरोसा करना "जोखिम भरा" है।
मूल प्रश्न पूरी तरह से मान्य परिदृश्य का वर्णन करता है, और डिजाइन अच्छी तरह से सोचा जाता है। स्पष्ट रूप से, किसी उपयोगकर्ता को हटाने से उपयोगकर्ता के आइटम (और उन पर कोई भी वोट) दोनों को हटा देना चाहिए, और किसी भी आइटम (यहां तक कि अन्य उपयोगकर्ताओं से संबंधित आइटम) पर उपयोगकर्ता के वोट को हटा देना चाहिए। उपयोगकर्ता रिकॉर्ड हटाए जाने पर डेटाबेस से इस कैस्केडिंग डिलीट को करने के लिए कहना उचित है।
समस्या यह है कि SQL सर्वर इसे संभाल नहीं सकता है। कैस्केडिंग डिलीट्स के कार्यान्वयन में कमी है।