जिस तरह से आप सवाल पूछ रहे हैं (और दो विकल्पों का प्रस्ताव) यह ऐसा है जैसे कि केवल चिंता यह है कि कार के निर्माण के समय ड्राइवरआईड अभी भी वैध है।
हालाँकि, आपको यह भी चिंतित होना चाहिए कि कार को या तो डिलीट करने से पहले ड्राइवरआईड से जुड़े ड्राइवर को डिलीट नहीं किया जाता है या किसी अन्य ड्राइवर को दिया जाता है (और संभवतः यह भी कि ड्राइवर को किसी अन्य कार को नहीं सौंपा गया है (यदि डोमेन केवल ड्राइवर को प्रतिबंधित करता है) एक कार से जुड़ा होना))।
मेरा सुझाव है कि सत्यापन के बजाय, आप आवंटित करते हैं (जिसमें उपस्थिति का सत्यापन शामिल होगा)। आप तब भी हटाए जाने के दौरान हटाए गए को हटाएंगे, इस प्रकार निर्माण के दौरान बासी डेटा की दौड़ की स्थिति के साथ-साथ अन्य लंबी समस्या की भी रक्षा करेंगे। (ध्यान दें कि आवंटन आवंटन और सत्यापन दोनों को चिह्नित करता है, और परमाणु रूप से संचालित होता है।)
Btw, मैं @PriceJones से सहमत हूं कि कार और ड्राइवर के बीच का संबंध शायद कार या ड्राइवर से अलग एक जिम्मेदारी है। इस तरह का जुड़ाव केवल समय के साथ जटिलता में बढ़ेगा, क्योंकि यह एक शेड्यूलिंग प्रॉब्लम (ड्राइवर, कार, टाइम स्लॉट / विंडो, सब्स्टीट्यूट आदि) की तरह लगता है। भले ही यह एक रजिस्ट्रेशन प्रॉब्लम की तरह हो, एक को ऐतिहासिक चाहिए। पंजीकरण और साथ ही वर्तमान पंजीकरण। इस प्रकार, यह बहुत अच्छी तरह से अपने ई.पू.
आप आवंटित संस्थाओं के बीसी के भीतर या अलग बीसी के भीतर एक आवंटन योजना (जैसे बूलियन या संदर्भ गणना) प्रदान कर सकते हैं, कह सकते हैं, कार और ड्राइवर के बीच संबंध बनाने के लिए जिम्मेदार। यदि आप पूर्व करते हैं तो आप कार या ड्राइवर बीसी को जारी किए गए (वैध) विलोपन संचालन की अनुमति दे सकते हैं; यदि आप उत्तरार्द्ध करते हैं, तो आपको कार और ड्राइवर बीसी के विलोपन को रोकने की आवश्यकता होगी और इसके बजाय उन्हें कार और चालक चालक शेड्यूलर के माध्यम से भेजें।
आप बीसी के बीच आवंटन की कुछ जिम्मेदारियों को इस प्रकार विभाजित कर सकते हैं। कार और ड्राइवर बीसी प्रत्येक एक "आवंटन" योजना प्रदान करते हैं जो उस बीसी के साथ आवंटित बूलियन को मान्य और सेट करता है; जब उनका आवंटन बूलियन सेट होता है, तो बीसी संबंधित संस्थाओं को हटाने से रोकता है। (और सिस्टम सेटअप किया गया है ताकि कार और ड्राइवर बीसी केवल कार / ड्राइवर एसोसिएशन शेड्यूलिंग बीसी से आवंटन और निपटान की अनुमति दें।)
कार और ड्राइवर का समय निर्धारण ई.पू. तो कुछ समय अवधि / अवधि, अब और भविष्य के लिए कार से जुड़े ड्राइवरों के एक कैलेंडर को बनाए रखता है, और एक अनुसूचित कार या ड्राइवर के अंतिम उपयोग पर केवल अन्य बीसी के व्यवहार का उल्लेख करता है।
अधिक कट्टरपंथी समाधान के रूप में, आप कार / ड्राइवर बीसी के रूप में केवल ऐतिहासिक / रिकॉर्ड कारखानों के लिए कार / चालक संघ के अनुसूचक के स्वामित्व को छोड़ कर इलाज कर सकते हैं। कार बीसी अपने VIN के साथ, कार के सभी विवरणों के साथ, एक नई कार उत्पन्न कर सकती है। कार का स्वामित्व कार / चालक संघ के अनुसूचक द्वारा संभाला जाता है। यहां तक कि अगर कार / ड्राइवर एसोसिएशन को हटा दिया गया है, और कार स्वयं नष्ट हो गई है, तो कार के रिकॉर्ड अभी भी कार बीसी में मौजूद हैं परिभाषा के अनुसार, और हम ऐतिहासिक डेटा को देखने के लिए कार बीसी का उपयोग कर सकते हैं; जबकि कार / चालक संघ / मालिकाना हक (अतीत, वर्तमान और संभावित रूप से भविष्य में निर्धारित) अन्य बीसी द्वारा संभाला जा रहा है।
Driver.delete
मौजूद नहीं होना चाहिए। मैंने वास्तव में कभी ऐसा डोमेन नहीं देखा था जहाँ समुच्चय नष्ट हो जाते हैं। अपने आस-पास AR रखने से आप कभी भी अनाथों के साथ नहीं रह सकते।